<?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>215218</bug_id>
          
          <creation_ts>2020-08-06 08:40:24 -0700</creation_ts>
          <short_desc>[ iOS wk2 ] editing/pasteboard/paste-without-nesting.html is a flaky failure</short_desc>
          <delta_ts>2020-08-08 20:23:30 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Karl Rackler">rackler</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>kangil.han</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mifenton</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1678253</commentid>
    <comment_count>0</comment_count>
    <who name="Karl Rackler">rackler</who>
    <bug_when>2020-08-06 08:40:24 -0700</bug_when>
    <thetext>Description:
editing/pasteboard/paste-without-nesting.html

It should be &lt;div&gt;Hello&lt;/div&gt;&lt;div&gt;world&lt;/div&gt;. Was &lt;div&gt;&lt;div&gt;Hello&lt;/div&gt;&lt;div&gt;world&lt;/div&gt;&lt;/div&gt;.

The is a flaky failure that I can find the first occurrence 04/08/20 and appears to have been a flaky failure since.

History:
https://results.webkit.org/?suite=layout-tests&amp;test=editing%2Fpasteboard%2Fpaste-without-nesting.html&amp;platform=ios&amp;flavor=wk2&amp;style=release&amp;limit=50000

Diff Log:
--- /Volumes/Data/worker/iOS-13-Simulator-WK2-Tests-EWS/build/layout-test-results/editing/pasteboard/paste-without-nesting-expected.txt
+++ /Volumes/Data/worker/iOS-13-Simulator-WK2-Tests-EWS/build/layout-test-results/editing/pasteboard/paste-without-nesting-actual.txt
@@ -3,7 +3,7 @@
 PASS confirmedMarkup is &apos;Hello&apos;
 PASS confirmedMarkup is &apos;Hello&lt;br&gt;world&apos;
 PASS confirmedMarkup is &apos;&lt;div&gt;Hello&lt;/div&gt;&lt;div&gt;world&lt;/div&gt;&apos;
-PASS confirmedMarkup is &apos;&lt;div&gt;Hello&lt;/div&gt;&lt;div&gt;world&lt;/div&gt;&apos;
+FAIL confirmedMarkup should be &lt;div&gt;Hello&lt;/div&gt;&lt;div&gt;world&lt;/div&gt;. Was &lt;div&gt;&lt;div&gt;Hello&lt;/div&gt;&lt;div&gt;world&lt;/div&gt;&lt;/div&gt;.
 PASS confirmedMarkup is &apos;&lt;div&gt;&lt;b&gt;&lt;i&gt;Hello&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;world&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&apos;
 PASS confirmedMarkup is &apos;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;div&gt;&lt;font color=&quot;#ff0000&quot;&gt;&lt;b&gt;&lt;i&gt;hello&lt;/i&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#ff0000&quot;&gt;&lt;b&gt;&lt;i&gt;world&lt;/i&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&apos;
 PASS confirmedMarkup is &apos;&lt;p&gt;Line One&lt;/p&gt;&lt;p&gt;Line Two&lt;/p&gt;&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678254</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-06 08:41:06 -0700</bug_when>
    <thetext>&lt;rdar://problem/66628493&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678258</commentid>
    <comment_count>2</comment_count>
    <who name="Karl Rackler">rackler</who>
    <bug_when>2020-08-06 08:48:51 -0700</bug_when>
    <thetext>I have marked this tests as failing while this issue is investigated.
https://trac.webkit.org/changeset/265329/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678605</commentid>
    <comment_count>3</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 09:06:02 -0700</bug_when>
    <thetext>Unable to reproduce this locally :(

(I tried running for 1000 iterations on 4 simulators in parallel)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678606</commentid>
    <comment_count>4</comment_count>
      <attachid>406178</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 09:11:27 -0700</bug_when>
    <thetext>Created attachment 406178
Repro attempt #1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678608</commentid>
    <comment_count>5</comment_count>
      <attachid>406179</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 09:12:14 -0700</bug_when>
    <thetext>Created attachment 406179
Repro attempt #2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678609</commentid>
    <comment_count>6</comment_count>
      <attachid>406180</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 09:12:38 -0700</bug_when>
    <thetext>Created attachment 406180
Repro attempt #3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678610</commentid>
    <comment_count>7</comment_count>
      <attachid>406181</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 09:13:29 -0700</bug_when>
    <thetext>Created attachment 406181
Repro attempt #4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678611</commentid>
    <comment_count>8</comment_count>
      <attachid>406182</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 09:13:31 -0700</bug_when>
    <thetext>Created attachment 406182
Repro attempt #5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678631</commentid>
    <comment_count>9</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 10:12:45 -0700</bug_when>
    <thetext>&gt; Unexpected flakiness: text-only failures (4)
&gt;   editing/pasteboard/paste-without-nesting-229.html [ Failure Pass ]
&gt;   editing/pasteboard/paste-without-nesting-346.html [ Failure Pass ]
&gt;   editing/pasteboard/paste-without-nesting-81.html [ Failure Pass ]
&gt;   media/now-playing-status-without-media.html [ Failure Pass ]
&gt; Unexpected flakiness: image-only failures (1)
&gt;   css3/filters/backdrop/backdrop-filter-with-border-radius-and-reflection-remove.html [ ImageOnlyFailure Pass ]

It looks like EWS is at least able to reproduce this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678669</commentid>
    <comment_count>10</comment_count>
      <attachid>406193</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 11:29:27 -0700</bug_when>
    <thetext>Created attachment 406193
Repro v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678678</commentid>
    <comment_count>11</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 11:57:31 -0700</bug_when>
    <thetext>From &lt;https://ews-build.webkit.org/#/builders/24/builds/23457/steps/10/logs/stdio&gt;, sample logging excerpt from failed test run:

11:47:34.525 12247   (CONSOLE) &lt;WK&gt;: ==================
11:47:34.525 12247   (CONSOLE) &lt;WK&gt;: Starting test (4).
11:47:34.525 12247   2020-08-07 11:47:34.156 WebKitTestRunnerApp[12268:1448157] PBItemCollectionServicer connection disconnected.
11:47:34.525 12247   (CONSOLE) &lt;WK&gt;: FAILURE!
11:47:34.525 12247   (CONSOLE) &lt;WK&gt;: - EXP: &quot;&lt;div&gt;Hello&lt;/div&gt;&lt;div&gt;world&lt;/div&gt;&quot;
11:47:34.526 12247   (CONSOLE) &lt;WK&gt;: - GOT: &quot;&lt;div&gt;&lt;div&gt;Hello&lt;/div&gt;&lt;div&gt;world&lt;/div&gt;&lt;/div&gt;&quot;
11:47:34.526 12247   (CONSOLE) &lt;WK&gt;: ==================

…compared to a successful run:

11:50:26.765 12247   (CONSOLE) &lt;WK&gt;: ==================
11:50:26.765 12247   (CONSOLE) &lt;WK&gt;: Starting test (4).
11:50:26.765 12247   2020-08-07 11:50:26.369 WebKitTestRunnerApp[12268:1459245] PBItemCollectionServicer connection disconnected.
11:50:26.765 12247   &lt;WK&gt;: Remove redundant blocks?
11:50:26.765 12247   &lt;WK&gt;: - node      &lt;DIV 0x1248ac1c0 id=&apos;&apos; class=&apos;&apos;&gt;
11:50:26.765 12247   &lt;WK&gt;: - rootNode  &lt;DIV 0x1248ac0e0 id=&apos;container4&apos; class=&apos;&apos;&gt;
11:50:26.765 12247   &lt;WK&gt;: *** REMOVING &lt;DIV 0x1248ac1c0 id=&apos;&apos; class=&apos;&apos;&gt; ***
11:50:26.765 12247   &lt;WK&gt;: *** REMOVING &lt;DIV 0x1248ac150 id=&apos;&apos; class=&apos;&apos;&gt; ***
11:50:26.765 12247   &lt;WK&gt;: 
11:50:26.765 12247   (CONSOLE) &lt;WK&gt;: PASS!
11:50:26.765 12247   (CONSOLE) &lt;WK&gt;: ==================

It looks like we never even call into DeleteSelectionCommand::removeRedundantBlocks() in the case where this test fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678684</commentid>
    <comment_count>12</comment_count>
      <attachid>406200</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 12:07:38 -0700</bug_when>
    <thetext>Created attachment 406200
Repro v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678731</commentid>
    <comment_count>13</comment_count>
      <attachid>406210</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 14:07:30 -0700</bug_when>
    <thetext>Created attachment 406210
Repro v4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678736</commentid>
    <comment_count>14</comment_count>
      <attachid>406212</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 14:18:52 -0700</bug_when>
    <thetext>Created attachment 406212
Repro v5 (is this an IPC race?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678853</commentid>
    <comment_count>15</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 18:22:18 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #14)
&gt; Created attachment 406212 [details]
&gt; Repro v5 (is this an IPC race?)

From: &lt;https://ews-build.webkit.org/#/builders/24/builds/23475/steps/10/logs/stdio&gt;...

&gt; 15:06:44.680 3621   (CONSOLE) &lt;WK&gt;: ==================
&gt; 15:06:44.680 3621   (CONSOLE) &lt;WK&gt;: Starting test (4).
&gt; 15:06:44.680 3621   &lt;WK&gt;: Writing web content to platform pasteboard! (web archive data: 1222 bytes)
&gt; 15:06:44.680 3621   2020-08-07 15:06:44.281 WebKitTestRunnerApp[3643:164560] PBItemCollectionServicer connection disconnected.
&gt; 15:06:44.681 3621   &lt;WK&gt;: Reading pasteboard web content.
&gt; 15:06:44.681 3621   &lt;WK&gt;: =&gt; No info
&gt; 15:06:44.681 3621   (CONSOLE) &lt;WK&gt;: FAILURE!
&gt; 15:06:44.681 3621   (CONSOLE) &lt;WK&gt;: - EXP: &quot;&lt;div&gt;Hello&lt;/div&gt;&lt;div&gt;world&lt;/div&gt;&quot;
&gt; 15:06:44.681 3621   (CONSOLE) &lt;WK&gt;: - GOT: &quot;&lt;div&gt;&lt;div&gt;Hello&lt;/div&gt;&lt;div&gt;world&lt;/div&gt;&lt;/div&gt;&quot;
&gt; 15:06:44.681 3621   (CONSOLE) &lt;WK&gt;: ==================

What’s probably happening is that the changeCount is bumped up from underneath us, due to the copy command’s IPC message being handled in the UI process after asking for the changeCount (which is a sync IPC message).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678872</commentid>
    <comment_count>16</comment_count>
      <attachid>406248</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 22:55:34 -0700</bug_when>
    <thetext>Created attachment 406248
Repro v6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678879</commentid>
    <comment_count>17</comment_count>
      <attachid>406252</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-07 23:57:22 -0700</bug_when>
    <thetext>Created attachment 406252
Repro v7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678914</commentid>
    <comment_count>18</comment_count>
      <attachid>406256</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-08 11:40:29 -0700</bug_when>
    <thetext>Created attachment 406256
Test a potential fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678917</commentid>
    <comment_count>19</comment_count>
      <attachid>406257</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-08 11:42:45 -0700</bug_when>
    <thetext>Created attachment 406257
Test a potential fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678923</commentid>
    <comment_count>20</comment_count>
      <attachid>406259</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-08 14:01:05 -0700</bug_when>
    <thetext>Created attachment 406259
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678924</commentid>
    <comment_count>21</comment_count>
      <attachid>406260</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-08 14:38:20 -0700</bug_when>
    <thetext>Created attachment 406260
Remove flaky test expectation too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678927</commentid>
    <comment_count>22</comment_count>
      <attachid>406260</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-08 15:13:59 -0700</bug_when>
    <thetext>Comment on attachment 406260
Remove flaky test expectation too

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

&gt; Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:457
&gt; +    if (auto* process = webProcessProxyForConnection(connection))

Writing just auto instead of auto* seems better for refactoring if we ever make this return a smart pointer instead of a raw pointer.

&gt; Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:458
&gt; +        process-&gt;send(Messages::WebProcess::DidWriteToPasteboardAsynchronously(pasteboardName), 0);

What gives us test coverage to make sure we didn’t miss any cases? I assume the flaky test only exercises one of these.

&gt; Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:173
&gt; +    WebProcess::singleton().waitForPendingPasteboardWritesToFinish(pasteboardName);

What gives us test coverage to make sure we didn’t miss any cases? I assume the flaky test only exercises one of these.

&gt; Source/WebKit/WebProcess/WebProcess.h:658
&gt; +    HashMap&lt;String, unsigned&gt; m_pendingPasteboardWriteCounts;

Should use HashCountedSet instead. It’s designed for this kind of use.

&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:1095
&gt; +    while (m_pendingPasteboardWriteCounts.get(pasteboardName)) {

This does unnecessary extra work and should just check contains. We never have a hash table entry with a 0 in it.

(Will change if you use HashCountedSet.)

&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:1096
&gt; +        if (!parentProcessConnection()-&gt;waitForAndDispatchImmediately&lt;Messages::WebProcess::DidWriteToPasteboardAsynchronously&gt;(0, 1_s, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives))

How did we select a 1 second timeout? Because of the way this is written it will loop forever anyway, so it’s not clear why it’s OK to time out and what we will do in that case. And this case is untested. Sending extra messages seems a bit dangerous? Not sure.

&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:1099
&gt; +    m_pendingPasteboardWriteCounts.remove(pasteboardName);

This seems like a no op. The count should already have been removed by didWriteToPasteboardAsynchronously.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678928</commentid>
    <comment_count>23</comment_count>
      <attachid>406260</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-08 15:49:07 -0700</bug_when>
    <thetext>Comment on attachment 406260
Remove flaky test expectation too

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

&gt;&gt; Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:457
&gt;&gt; +    if (auto* process = webProcessProxyForConnection(connection))
&gt; 
&gt; Writing just auto instead of auto* seems better for refactoring if we ever make this return a smart pointer instead of a raw pointer.

Sounds good — changed to auto here, and in the 3 other places below.

&gt;&gt; Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:458
&gt;&gt; +        process-&gt;send(Messages::WebProcess::DidWriteToPasteboardAsynchronously(pasteboardName), 0);
&gt; 
&gt; What gives us test coverage to make sure we didn’t miss any cases? I assume the flaky test only exercises one of these.

This flaky test in particular only exercises `writeWebContentToPasteboard`, but there are many other tests in editing/pasteboard that attempt to copy other types of content (such as links and plain text) and immediately paste, which I suspect are also flaky (just much, much more rarely).

&gt;&gt; Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:173
&gt;&gt; +    WebProcess::singleton().waitForPendingPasteboardWritesToFinish(pasteboardName);
&gt; 
&gt; What gives us test coverage to make sure we didn’t miss any cases? I assume the flaky test only exercises one of these.

All native pasteboard access on Cocoa platforms is preceded by grabbing the changeCount when creating the Pasteboard object, so I think this should be sufficient.

&gt;&gt; Source/WebKit/WebProcess/WebProcess.h:658
&gt;&gt; +    HashMap&lt;String, unsigned&gt; m_pendingPasteboardWriteCounts;
&gt; 
&gt; Should use HashCountedSet instead. It’s designed for this kind of use.

Nice! Switched to use HashCountedSet.

&gt;&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:1095
&gt;&gt; +    while (m_pendingPasteboardWriteCounts.get(pasteboardName)) {
&gt; 
&gt; This does unnecessary extra work and should just check contains. We never have a hash table entry with a 0 in it.
&gt; 
&gt; (Will change if you use HashCountedSet.)

Changed to use HashCountedSet::contains()!

&gt;&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:1096
&gt;&gt; +        if (!parentProcessConnection()-&gt;waitForAndDispatchImmediately&lt;Messages::WebProcess::DidWriteToPasteboardAsynchronously&gt;(0, 1_s, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives))
&gt; 
&gt; How did we select a 1 second timeout? Because of the way this is written it will loop forever anyway, so it’s not clear why it’s OK to time out and what we will do in that case. And this case is untested. Sending extra messages seems a bit dangerous? Not sure.

The 1 second timeout was (mostly) arbitrarily chosen to match the timeout we use for most of the other places where we waitForAndDispatchImmediately. The behavior I implemented here will attempt to wait for IPC responses from the UI process until the named pasteboard is no longer being written to, but if the IPC message times out or fails to arrive for any reason, instead of looping infinitely, the break statement will bail us out of the while loop and the named pasteboard will be removed from the pending pasteboard writes map below so that we get stuck in a bad state. Unfortunately, I’m not quite sure how I would test this scenario...

&gt;&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:1099
&gt;&gt; +    m_pendingPasteboardWriteCounts.remove(pasteboardName);
&gt; 
&gt; This seems like a no op. The count should already have been removed by didWriteToPasteboardAsynchronously.

This is only a no-op in the case where the IPC responses were received; it is here to handle the scenario where we failed when waiting above. I’ll move it into the break statement instead, and make it use removeAll().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678940</commentid>
    <comment_count>24</comment_count>
      <attachid>406262</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-08 18:26:59 -0700</bug_when>
    <thetext>Created attachment 406262
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678941</commentid>
    <comment_count>25</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-08 20:23:29 -0700</bug_when>
    <thetext>Committed r265410: &lt;https://trac.webkit.org/changeset/265410&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 406262.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406178</attachid>
            <date>2020-08-07 09:11:27 -0700</date>
            <delta_ts>2020-08-07 11:29:42 -0700</delta_ts>
            <desc>Repro attempt #1</desc>
            <filename>bug-215218-20200807091122.patch</filename>
            <type>text/plain</type>
            <size>1716782</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MzU1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzAyZjdmMTE0ODYyZmM5MWZmYTc5
ZTAyNmE0Zjk3ZmY4N2VhZGY0Ny4uOWU4ZjBiOTcxZmQ4NzUwY2ZlZjJkOWRjM2EzYjg2MmQ4YzFi
ZGI5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA4LTA3ICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFsgaU9TIHdrMiBdIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTIxOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcHJvIGF0dGVt
cHQuCisKIDIwMjAtMDgtMDYgIEhlY3RvciBMb3BleiAgPGhlY3Rvcl9pX2xvcGV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBbIG1hY09TIF0gd2ViZ3B1L3dobHNsL2RvbnQtY3Jhc2gtcGFyc2luZy1l
bnVtLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJh
MWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTExLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDcz
MTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjky
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRk
N2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM5OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2
OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDcwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDk2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ5OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRh
NjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQz
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05My5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2MDE0MzRhZGE4ZjgxN2U1
MWE5MzRhYTM3MmE4N2JjMGQ1M2MyMzdjLi5hODk5MTIyYjYzNDQ3Mjk3MzExN2YyYzA4NjM0Zjc0
ZDQ3OGNlMjM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9y
LXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11
bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzMCw1ICsxMzAsMyBAQCB3ZWJraXQub3Jn
L2IvMjE1MDI1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1NjdHBU
cmFuc3BvcnQtbWF4Qwogd2Via2l0Lm9yZy9iLzIxNTAzMyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYnNvY2tldHMvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYWNjZXB0ZWQu
aHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMTUyMTYgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdmcvaW1wb3J0L2ludGVyYWN0LXpvb20tMDEtdC1t
YW51YWwuc3ZnIFsgUGFzcyBGYWlsdXJlIF0KLQotd2Via2l0Lm9yZy9iLzIxNTIxOCBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406179</attachid>
            <date>2020-08-07 09:12:14 -0700</date>
            <delta_ts>2020-08-07 11:29:45 -0700</delta_ts>
            <desc>Repro attempt #2</desc>
            <filename>bug-215218-20200807091209.patch</filename>
            <type>text/plain</type>
            <size>1716782</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MzU1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzAyZjdmMTE0ODYyZmM5MWZmYTc5
ZTAyNmE0Zjk3ZmY4N2VhZGY0Ny4uOWU4ZjBiOTcxZmQ4NzUwY2ZlZjJkOWRjM2EzYjg2MmQ4YzFi
ZGI5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA4LTA3ICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFsgaU9TIHdrMiBdIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTIxOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcHJvIGF0dGVt
cHQuCisKIDIwMjAtMDgtMDYgIEhlY3RvciBMb3BleiAgPGhlY3Rvcl9pX2xvcGV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBbIG1hY09TIF0gd2ViZ3B1L3dobHNsL2RvbnQtY3Jhc2gtcGFyc2luZy1l
bnVtLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJh
MWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTExLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDcz
MTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjky
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRk
N2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM5OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2
OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDcwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDk2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ5OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRh
NjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQz
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05My5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2MDE0MzRhZGE4ZjgxN2U1
MWE5MzRhYTM3MmE4N2JjMGQ1M2MyMzdjLi5hODk5MTIyYjYzNDQ3Mjk3MzExN2YyYzA4NjM0Zjc0
ZDQ3OGNlMjM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9y
LXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11
bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzMCw1ICsxMzAsMyBAQCB3ZWJraXQub3Jn
L2IvMjE1MDI1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1NjdHBU
cmFuc3BvcnQtbWF4Qwogd2Via2l0Lm9yZy9iLzIxNTAzMyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYnNvY2tldHMvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYWNjZXB0ZWQu
aHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMTUyMTYgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdmcvaW1wb3J0L2ludGVyYWN0LXpvb20tMDEtdC1t
YW51YWwuc3ZnIFsgUGFzcyBGYWlsdXJlIF0KLQotd2Via2l0Lm9yZy9iLzIxNTIxOCBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406180</attachid>
            <date>2020-08-07 09:12:38 -0700</date>
            <delta_ts>2020-08-07 11:29:49 -0700</delta_ts>
            <desc>Repro attempt #3</desc>
            <filename>bug-215218-20200807091234.patch</filename>
            <type>text/plain</type>
            <size>1716782</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MzU1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzAyZjdmMTE0ODYyZmM5MWZmYTc5
ZTAyNmE0Zjk3ZmY4N2VhZGY0Ny4uOWU4ZjBiOTcxZmQ4NzUwY2ZlZjJkOWRjM2EzYjg2MmQ4YzFi
ZGI5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA4LTA3ICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFsgaU9TIHdrMiBdIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTIxOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcHJvIGF0dGVt
cHQuCisKIDIwMjAtMDgtMDYgIEhlY3RvciBMb3BleiAgPGhlY3Rvcl9pX2xvcGV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBbIG1hY09TIF0gd2ViZ3B1L3dobHNsL2RvbnQtY3Jhc2gtcGFyc2luZy1l
bnVtLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJh
MWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTExLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDcz
MTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjky
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRk
N2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM5OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2
OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDcwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDk2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ5OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRh
NjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQz
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05My5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2MDE0MzRhZGE4ZjgxN2U1
MWE5MzRhYTM3MmE4N2JjMGQ1M2MyMzdjLi5hODk5MTIyYjYzNDQ3Mjk3MzExN2YyYzA4NjM0Zjc0
ZDQ3OGNlMjM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9y
LXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11
bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzMCw1ICsxMzAsMyBAQCB3ZWJraXQub3Jn
L2IvMjE1MDI1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1NjdHBU
cmFuc3BvcnQtbWF4Qwogd2Via2l0Lm9yZy9iLzIxNTAzMyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYnNvY2tldHMvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYWNjZXB0ZWQu
aHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMTUyMTYgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdmcvaW1wb3J0L2ludGVyYWN0LXpvb20tMDEtdC1t
YW51YWwuc3ZnIFsgUGFzcyBGYWlsdXJlIF0KLQotd2Via2l0Lm9yZy9iLzIxNTIxOCBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406181</attachid>
            <date>2020-08-07 09:13:29 -0700</date>
            <delta_ts>2020-08-07 11:29:52 -0700</delta_ts>
            <desc>Repro attempt #4</desc>
            <filename>bug-215218-20200807091325.patch</filename>
            <type>text/plain</type>
            <size>1716782</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MzU1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzAyZjdmMTE0ODYyZmM5MWZmYTc5
ZTAyNmE0Zjk3ZmY4N2VhZGY0Ny4uOWU4ZjBiOTcxZmQ4NzUwY2ZlZjJkOWRjM2EzYjg2MmQ4YzFi
ZGI5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA4LTA3ICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFsgaU9TIHdrMiBdIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTIxOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcHJvIGF0dGVt
cHQuCisKIDIwMjAtMDgtMDYgIEhlY3RvciBMb3BleiAgPGhlY3Rvcl9pX2xvcGV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBbIG1hY09TIF0gd2ViZ3B1L3dobHNsL2RvbnQtY3Jhc2gtcGFyc2luZy1l
bnVtLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJh
MWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTExLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDcz
MTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjky
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRk
N2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM5OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2
OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDcwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDk2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ5OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRh
NjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQz
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05My5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2MDE0MzRhZGE4ZjgxN2U1
MWE5MzRhYTM3MmE4N2JjMGQ1M2MyMzdjLi5hODk5MTIyYjYzNDQ3Mjk3MzExN2YyYzA4NjM0Zjc0
ZDQ3OGNlMjM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9y
LXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11
bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzMCw1ICsxMzAsMyBAQCB3ZWJraXQub3Jn
L2IvMjE1MDI1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1NjdHBU
cmFuc3BvcnQtbWF4Qwogd2Via2l0Lm9yZy9iLzIxNTAzMyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYnNvY2tldHMvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYWNjZXB0ZWQu
aHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMTUyMTYgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdmcvaW1wb3J0L2ludGVyYWN0LXpvb20tMDEtdC1t
YW51YWwuc3ZnIFsgUGFzcyBGYWlsdXJlIF0KLQotd2Via2l0Lm9yZy9iLzIxNTIxOCBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406182</attachid>
            <date>2020-08-07 09:13:31 -0700</date>
            <delta_ts>2020-08-07 11:29:56 -0700</delta_ts>
            <desc>Repro attempt #5</desc>
            <filename>bug-215218-20200807091326.patch</filename>
            <type>text/plain</type>
            <size>1716782</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MzU1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzAyZjdmMTE0ODYyZmM5MWZmYTc5
ZTAyNmE0Zjk3ZmY4N2VhZGY0Ny4uOWU4ZjBiOTcxZmQ4NzUwY2ZlZjJkOWRjM2EzYjg2MmQ4YzFi
ZGI5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA4LTA3ICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFsgaU9TIHdrMiBdIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTIxOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcHJvIGF0dGVt
cHQuCisKIDIwMjAtMDgtMDYgIEhlY3RvciBMb3BleiAgPGhlY3Rvcl9pX2xvcGV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBbIG1hY09TIF0gd2ViZ3B1L3dobHNsL2RvbnQtY3Jhc2gtcGFyc2luZy1l
bnVtLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJh
MWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTExLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDcz
MTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjky
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRk
N2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM5OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2
OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDcwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDk2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ5OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRh
NjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQz
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05My5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2MDE0MzRhZGE4ZjgxN2U1
MWE5MzRhYTM3MmE4N2JjMGQ1M2MyMzdjLi5hODk5MTIyYjYzNDQ3Mjk3MzExN2YyYzA4NjM0Zjc0
ZDQ3OGNlMjM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9y
LXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11
bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzMCw1ICsxMzAsMyBAQCB3ZWJraXQub3Jn
L2IvMjE1MDI1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1NjdHBU
cmFuc3BvcnQtbWF4Qwogd2Via2l0Lm9yZy9iLzIxNTAzMyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYnNvY2tldHMvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYWNjZXB0ZWQu
aHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMTUyMTYgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdmcvaW1wb3J0L2ludGVyYWN0LXpvb20tMDEtdC1t
YW51YWwuc3ZnIFsgUGFzcyBGYWlsdXJlIF0KLQotd2Via2l0Lm9yZy9iLzIxNTIxOCBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406193</attachid>
            <date>2020-08-07 11:29:27 -0700</date>
            <delta_ts>2020-08-07 12:25:30 -0700</delta_ts>
            <desc>Repro v2</desc>
            <filename>bug-215218-20200807112922.patch</filename>
            <type>text/plain</type>
            <size>2330042</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1Mzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjIzNDZhY2Y3NzcwYjk1
OTk1N2M4OWFiMmQ5NWM3Mzc1ZDA1NmEyYi4uNjUyYzZiZTBhYzdlM2JiMDY1ZTZiODEwNGE3ZTlk
MTkzNDRmNzY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxOCBAQAorMjAyMC0wOC0wNyAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbIGlPUyB3azIg
XSBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgaXMgYSBmbGFr
eSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTUyMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0czogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDMuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDkuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExOS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzIuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzguaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzkuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Lmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjEuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjIuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNjUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjcuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjguaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjkuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Lmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTIu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xOTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOTQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTcuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTguaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xOTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDIuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMDUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDcuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDguaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDkuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxMC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjI3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzIu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMzMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzYuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzcuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzguaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Lmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjUxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjAuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjcuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNjkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI3NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yOTEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTQuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTYuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yOTguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDAuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDEu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMDMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDYuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDcuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMDkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzIwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzQuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzUuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzYuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMzguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNjEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjMuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNjguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjkuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzg1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zOTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTIuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTMuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zOTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTguaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MDEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDMuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDkuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxOS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzIuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzMuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzQuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzguaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDUzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjIuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjMuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjcuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjguaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjkuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTAuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTIuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OTQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTYuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTcuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTguaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
OTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTYyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTc1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4Lmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTk1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk4Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRtbAorCisg
ICAgICAgICogZWRpdGluZy9EZWxldGVTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnJlcHIpOgorICAgICAgICAoV2ViQ29yZTo6c3RyaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OkRlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OnJlbW92ZVJlZHVuZGFudEJsb2Nrcyk6CisgICAg
ICAgICogcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Q29uc29sZUNsaWVudDo6bWVzc2FnZVdpdGhUeXBlQW5kTGV2ZWwpOgorCiAyMDIwLTA4LTA3ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBzdG9yaW5nIHRo
ZSBzYW1wbGVSYXRlIG9uIEF1ZGlvTm9kZSBhbmQgZ2V0IGl0IGZyb20gdGhlIEF1ZGlvQ29udGV4
dCBpbnN0ZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVj
dGlvbkNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVTZWxlY3Rpb25D
b21tYW5kLmNwcAppbmRleCAyNWJkMzNmZGQ0MTc2NzQ0NmI3NTMzZDlhNzZmYTEzNDgyZWYxYWVi
Li42Njc5ZDIxOGM5OGJlMjYyNmFkNDljMDAxMzg1NDM5NjI3YmU1ZGE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5jcHAKQEAgLTQ2LDEw
ICs0Niw5NCBAQAogI2luY2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlICJWaXNpYmxlVW5pdHMuaCIK
IAorI2luY2x1ZGUgPFdlYkNvcmUvU3BhY2VTcGxpdFN0cmluZy5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvRWxlbWVudC5oPgorI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJzLmg+CisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAorc3RhdGljIFN0cmlu
ZyByZXByKGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIGNsYXNzTmFtZXMpCit7CisgICAgaWYgKGNs
YXNzTmFtZXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKworICAg
IFN0cmluZ0J1aWxkZXIgYnVmZmVyOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjbGFz
c05hbWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChpKQorICAgICAgICAgICAgYnVmZmVy
LmFwcGVuZCgiICIpOworICAgICAgICBidWZmZXIuYXBwZW5kKGNsYXNzTmFtZXNbaV0uc3RyaW5n
KCkpOworICAgIH0KKyAgICByZXR1cm4gYnVmZmVyLnRvU3RyaW5nKCk7Cit9CisKK3N0YXRpYyBT
dHJpbmcgc3RyaW5nKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAgaWYgKCFub2RlKQorICAgICAg
ICByZXR1cm4gIihudWxsKSI7CisgICAgaWYgKG5vZGUtPmlzVGV4dE5vZGUoKSkgeworICAgICAg
ICBhdXRvIHRleHQgPSBub2RlLT50ZXh0Q29udGVudCgpOworICAgICAgICBTdHJpbmcgZmlsdGVy
ZWRUZXh0OworICAgICAgICBpZiAodGV4dC5sZW5ndGgoKSA+IDEyKQorICAgICAgICAgICAgZmls
dGVyZWRUZXh0ID0gdGV4dC5zdWJzdHJpbmcoMCwgMTIpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBmaWx0ZXJlZFRleHQgPSB0ZXh0OworICAgICAgICBmaWx0ZXJlZFRleHQucmVwbGFjZSgi
XG4iLCAiXFxuIik7CisgICAgICAgIGZpbHRlcmVkVGV4dC5yZXBsYWNlKCJcciIsICJcXHIiKTsK
KyAgICAgICAgZmlsdGVyZWRUZXh0LnJlcGxhY2UoIlx0IiwgIlxcdCIpOworICAgICAgICBpZiAo
dGV4dC5sZW5ndGgoKSA+IDEyKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlwiIl9z
LCBmaWx0ZXJlZFRleHQsICIuLi5cIiJfcywgIiAobGVuZ3RoOiAiX3MsIHRleHQubGVuZ3RoKCks
ICIpIl9zKTsKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlwiIl9zLCBmaWx0ZXJlZFRleHQs
ICJcIiJfcyk7CisgICAgfQorICAgIGlmIChub2RlLT5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAg
ICAgYXV0byYgZWxlbWVudCA9IGRvd25jYXN0PEVsZW1lbnQ+KCpub2RlKTsKKyAgICAgICAgaWYg
KGVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkgeworICAgICAgICAgICAg
cmV0dXJuIG1ha2VTdHJpbmcoIjwiX3MsCisgICAgICAgICAgICAgICAgZWxlbWVudC50YWdOYW1l
KCksCisgICAgICAgICAgICAgICAgIiAweCJfcywKKyAgICAgICAgICAgICAgICBoZXgocmVpbnRl
cnByZXRfY2FzdDx1aW50cHRyX3Q+KG5vZGUpLCA4LCBMb3dlcmNhc2UpLAorICAgICAgICAgICAg
ICAgICIgaWQ9JyJfcywgZWxlbWVudC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmluZygpLCAiJyJfcywK
KyAgICAgICAgICAgICAgICAiIG5hbWU9JyJfcywgZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3lu
Y2hyb25pemF0aW9uKEhUTUxOYW1lczo6bmFtZUF0dHIpLCAiJyJfcywKKyAgICAgICAgICAgICAg
ICAiIHR5cGU9JyJfcywgZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhU
TUxOYW1lczo6dHlwZUF0dHIpLCAiJyJfcywKKyAgICAgICAgICAgICAgICAiIGNsYXNzPSciX3Ms
IGVsZW1lbnQuaGFzQ2xhc3MoKSA/IHJlcHIoZWxlbWVudC5jbGFzc05hbWVzKCkpIDogIiIsICIn
PiJfcyk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFt
ZXM6OmFUYWcpKSB7CisgICAgICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiPCJfcywKKyAgICAg
ICAgICAgICAgICBlbGVtZW50LnRhZ05hbWUoKSwKKyAgICAgICAgICAgICAgICAiIDB4Il9zLAor
ICAgICAgICAgICAgICAgIGhleChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4obm9kZSksIDgs
IExvd2VyY2FzZSksCisgICAgICAgICAgICAgICAgIiBpZD0nIl9zLCBlbGVtZW50LmdldElkQXR0
cmlidXRlKCkuc3RyaW5nKCksICInIl9zLAorICAgICAgICAgICAgICAgICIgaHJlZj0nIl9zLCBl
bGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpocmVmQXR0
ciksICInIl9zLAorICAgICAgICAgICAgICAgICIgY2xhc3M9JyJfcywgZWxlbWVudC5oYXNDbGFz
cygpID8gcmVwcihlbGVtZW50LmNsYXNzTmFtZXMoKSkgOiAiIiwgIic+Il9zKTsKKyAgICAgICAg
fQorICAgICAgICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKSkgewor
ICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIjwiX3MsCisgICAgICAgICAgICAgICAgZWxl
bWVudC50YWdOYW1lKCksCisgICAgICAgICAgICAgICAgIiAweCJfcywKKyAgICAgICAgICAgICAg
ICBoZXgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG5vZGUpLCA4LCBMb3dlcmNhc2UpLAor
ICAgICAgICAgICAgICAgICIgaWQ9JyJfcywgZWxlbWVudC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmlu
ZygpLCAiJyJfcywKKyAgICAgICAgICAgICAgICAiIHNyYz0nIl9zLCBlbGVtZW50LmF0dHJpYnV0
ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpzcmNBdHRyKSwgIiciX3MsCisgICAg
ICAgICAgICAgICAgIiBjbGFzcz0nIl9zLCBlbGVtZW50Lmhhc0NsYXNzKCkgPyByZXByKGVsZW1l
bnQuY2xhc3NOYW1lcygpKSA6ICIiLCAiJz4iX3MpOworICAgICAgICB9CisgICAgICAgIHJldHVy
biBtYWtlU3RyaW5nKCI8Il9zLAorICAgICAgICAgICAgZWxlbWVudC50YWdOYW1lKCksCisgICAg
ICAgICAgICAiIDB4Il9zLAorICAgICAgICAgICAgaGV4KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0
cl90Pihub2RlKSwgOCwgTG93ZXJjYXNlKSwKKyAgICAgICAgICAgICIgaWQ9JyJfcywgZWxlbWVu
dC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmluZygpLCAiJyJfcywKKyAgICAgICAgICAgICIgY2xhc3M9
JyJfcywgZWxlbWVudC5oYXNDbGFzcygpID8gcmVwcihlbGVtZW50LmNsYXNzTmFtZXMoKSkgOiAi
IiwgIic+Il9zKTsKKyAgICB9CisgICAgcmV0dXJuIG1ha2VTdHJpbmcoIk5vZGUoMHgiX3MsIGhl
eChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4obm9kZSksIDgsIExvd2VyY2FzZSksICIpIl9z
KTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIqIHJlcHIoY29uc3QgTm9kZSogbm9kZSkKK3sKKyAg
ICByZXR1cm4gc3RyaW5nKG5vZGUpLnV0ZjgoKS5kYXRhKCk7Cit9CisKIHN0YXRpYyBib29sIGlz
VGFibGVSb3coY29uc3QgTm9kZSogbm9kZSkKIHsKICAgICByZXR1cm4gbm9kZSAmJiBub2RlLT5o
YXNUYWdOYW1lKHRyVGFnKTsKQEAgLTg3MywxNiArOTU3LDI0IEBAIHZvaWQgRGVsZXRlU2VsZWN0
aW9uQ29tbWFuZDo6cmVtb3ZlUmVkdW5kYW50QmxvY2tzKCkKICAgICBOb2RlKiBub2RlID0gbV9l
bmRpbmdQb3NpdGlvbi5jb250YWluZXJOb2RlKCk7CiAgICAgTm9kZSogcm9vdE5vZGUgPSBub2Rl
LT5yb290RWRpdGFibGVFbGVtZW50KCk7CiAgICAKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJl
bW92ZSByZWR1bmRhbnQgYmxvY2tzPyIpOworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogLSBub2Rl
ICAgICAgJXMiLCByZXByKG5vZGUpKTsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IC0gcm9vdE5v
ZGUgICVzIiwgcmVwcihyb290Tm9kZSkpOwogICAgIHdoaWxlIChub2RlICE9IHJvb3ROb2RlKSB7
CiAgICAgICAgIGlmIChpc1JlbW92YWJsZUJsb2NrKG5vZGUpKSB7CiAgICAgICAgICAgICBpZiAo
bm9kZSA9PSBtX2VuZGluZ1Bvc2l0aW9uLmFuY2hvck5vZGUoKSkKICAgICAgICAgICAgICAgICB1
cGRhdGVQb3NpdGlvbkZvck5vZGVSZW1vdmFsUHJlc2VydmluZ0NoaWxkcmVuKG1fZW5kaW5nUG9z
aXRpb24sICpub2RlKTsKICAgICAgICAgICAgIAorICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCI8
V0s+OiAqKiogUkVNT1ZJTkcgJXMgKioqIiwgcmVwcihub2RlKSk7CiAgICAgICAgICAgICBDb21w
b3NpdGVFZGl0Q29tbWFuZDo6cmVtb3ZlTm9kZVByZXNlcnZpbmdDaGlsZHJlbigqbm9kZSk7CiAg
ICAgICAgICAgICBub2RlID0gbV9lbmRpbmdQb3NpdGlvbi5hbmNob3JOb2RlKCk7Ci0gICAgICAg
IH0gZWxzZQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCI8V0s+
OiAqKiogJXMgSVMgTk9UIFJFTU9WQUJMRSAqKioiLCByZXByKG5vZGUpKTsKICAgICAgICAgICAg
IG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CisgICAgICAgICAgICBXVEZMb2dBbHdheXMoIjxX
Sz46ICAgICBhZHZhbmNpbmcgdG8gJXMiLCByZXByKG5vZGUpKTsKKyAgICAgICAgfQogICAgIH0K
KyAgICBXVEZMb2dBbHdheXMoIjxXSz46ICIpOwogfQogCiB2b2lkIERlbGV0ZVNlbGVjdGlvbkNv
bW1hbmQ6OmRvQXBwbHkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29u
c29sZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNw
cAppbmRleCAyNmU2MjVmNzYwZWNhMmU3OGMyMWMzOWFmM2E1ODIwZTBjZTI2ZTUwLi5lNGUyZDlk
MGQ3OTU1ZWQ0YTg3YmViN2JhNjI2OGRlODEyNjk4OTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VDb25zb2xlQ2xpZW50LmNwcApAQCAtMTc2LDYgKzE3NiwxMCBAQCB2b2lkIFBhZ2VDb25z
b2xlQ2xpZW50OjptZXNzYWdlV2l0aFR5cGVBbmRMZXZlbChNZXNzYWdlVHlwZSB0eXBlLCBNZXNz
YWdlTGV2ZWwgbAogewogICAgIFN0cmluZyBtZXNzYWdlVGV4dDsKICAgICBib29sIGdvdE1lc3Nh
Z2UgPSBhcmd1bWVudHMtPmdldEZpcnN0QXJndW1lbnRBc1N0cmluZyhtZXNzYWdlVGV4dCk7Cisg
ICAgaWYgKGdvdE1lc3NhZ2UgJiYgbWVzc2FnZVRleHQuY29udGFpbnMoIjxXSz4iKSkgeworICAg
ICAgICBXVEZMb2dBbHdheXMoIihDT05TT0xFKSAlcyIsIG1lc3NhZ2VUZXh0LnV0ZjgoKS5kYXRh
KCkpOworICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgYXV0byBtZXNzYWdlID0gbWFrZVVu
aXF1ZTxJbnNwZWN0b3I6OkNvbnNvbGVNZXNzYWdlPihNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJ
LCB0eXBlLCBsZXZlbCwgbWVzc2FnZVRleHQsIGFyZ3VtZW50cy5jb3B5UmVmKCksIGxleGljYWxH
bG9iYWxPYmplY3QpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTZkYjcwOGVjNWUxZjBkZjQ3NmI5MDA0OWU2ZWU2ZjE4
OGIyYWI2My4uYTY4MGFhNjQwYmM1ZTRmNGE5MjFjMjFkNzQ4MzI5ODVmMDU2NzFiMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEwMTIgQEAKKzIwMjAtMDgtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CisKKyAgICAgICAgWyBpT1Mgd2syIF0gZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MjE4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTAwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEwMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTAzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEwNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEwOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTgtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MjAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTIxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjEuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMjIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMjMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjQuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMjYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjcuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMjkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMyLmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTM0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTM3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDAtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTUwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNTEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTIuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNTQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTUuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTYuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNTcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTgu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTkuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYw
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTYzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTY1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTY2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTY5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNy5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNzAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNzMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNzYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNzktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODAu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTgxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODEuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xODIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
ODMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTg0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODQuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xODUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xODYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTg3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODcuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xODkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTkxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTk0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTk3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk5Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjAxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjA0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjA3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjA4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTAtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIxMC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxMy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTYtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjIwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIxLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMjEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjIuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjMuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMjQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjUu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjYuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMjcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MjguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjkuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjMwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjMzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjM2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjM5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDgtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNDktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NTAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTEuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNTMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjU0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTQuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNTYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTcuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNTkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjYxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYyLmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjY0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjY3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzAtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzYtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI3Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI3OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjgwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yODEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODIuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjgzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yODQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODUuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjg2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODYuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yODcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODgu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjg5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODkuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkw
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjkyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjkzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjk2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzAwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMwNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA4Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxMS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTgtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxOC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMjAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjEuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMjMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjQuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMjYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjcuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMjkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzLmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzMxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzM0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMz
Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzM3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzM4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDAtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDYtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM0OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzUwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTIuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzUzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTMuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNTQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTUu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTYuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNTcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NTguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTkuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzYwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM2Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzYzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzY2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzY5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNzAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM3MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNzMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNzYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzgtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNzktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
ODAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzgxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODEuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zODIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zODMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzg0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODQuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zODYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODcuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zODkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzkxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzk3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk4
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDAxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAy
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDA0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDA1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDA3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDA4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTAtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxMC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTYtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDIwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjAuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MjEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjIu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjMuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MjQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MjUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjYuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDI3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MjcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MjguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDI5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjkuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDMwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQzMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDM2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDM5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDgtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NDktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NTAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTEuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NTMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTQuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NTYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTcuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NTkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDYxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDY0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDY4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzAtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzYtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDguaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00ODEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODIuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDgzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODMuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00ODQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODUu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODYuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00ODcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
ODguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODkuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDkwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDkzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDk2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ5OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTAwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTU2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTU3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTYwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTYzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTY2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTcwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTczLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTc2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTc5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTguaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTg2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTg5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkwLmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWw6CisKIDIwMjAtMDgt
MDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIFVJU2NyaXB0Q29udHJvbGxlci5yZW1vdmVBbGxEeW5hbWljRGljdGlvbmFyaWVzKCkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMDIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTMuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTYtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMTYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjEuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMjQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MjcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzUu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzgtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzguaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEzOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNDAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDMuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNDkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTEuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1
Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTcuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNTcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNjUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjguaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNzMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzYuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
ODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xODEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
ODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODQuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4
OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTIuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xOTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
OTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xOTguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDUuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIwOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTIuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTMuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTkuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjEt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjEuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMjQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMjcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMzIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MzUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzgt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzguaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIzOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNDAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDMu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDYuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI0OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNDkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTEtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTEuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTQuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNTcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYx
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNjUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjguaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzAtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNzMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzYuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yODEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
ODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODQuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI4NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
OTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTIuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yOTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yOTguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMDIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMwNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDguaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTAuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTMuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNy5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMi5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjEuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMy
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMy
NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMjcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMzUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzguaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNDAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NDMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDYtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM0Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDYuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNDkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTEu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTQuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNTcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzYxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjIuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM2NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNjUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjguaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjgu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNzMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzUuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzYuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzc4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzkuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODEuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zODEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODQuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM4Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
OTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTIuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM5NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM5Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zOTguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDA3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDguaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTMuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxNy5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mi5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQyMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjEuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyNS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MjcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzItZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MzUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzguaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NDAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NDMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDYtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDYuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ0Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NTEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTQuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDU1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NTcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ni1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDYwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ2Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjIuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NjUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Njcu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjguaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NjguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzAuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NzMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzYu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDc4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzkuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODEuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00ODEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00ODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODQuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDg2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODctZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODcuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ4OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00ODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00OTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTIuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00OTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OTguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTUwMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Mi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYy
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY4Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNy5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcw
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MC5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTgxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ni5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ny5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwKaW5kZXggNjk0YmRhNjNhNDI2OGY3ODRk
N2U3NDczMTMzYTJhMWE3YjBmZTQzYi4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbApAQCAtMjAsOCArMjAsOSBAQCBmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKICAgICByZXR1cm4gbm9kZTsKIH0KIAot
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQp
IHsKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgewogICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOwogICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CiAKICAgICBub2RlLmZvY3VzKCk7CkBA
IC0zMSwxNiArMzIsMzcgQEAgZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQpIHsKIAogICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOwogCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOwogICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7CiB9CiAKLXRlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIpOwotdGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIik7Ci10ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKLXRlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iik7Ci10ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIpOwotdGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIpOwotdGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CiAKIHJvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406200</attachid>
            <date>2020-08-07 12:07:38 -0700</date>
            <delta_ts>2020-08-07 14:08:07 -0700</delta_ts>
            <desc>Repro v3</desc>
            <filename>bug-215218-20200807120732.patch</filename>
            <type>text/plain</type>
            <size>2329882</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1Mzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjIzNDZhY2Y3NzcwYjk1
OTk1N2M4OWFiMmQ5NWM3Mzc1ZDA1NmEyYi4uNjUyYzZiZTBhYzdlM2JiMDY1ZTZiODEwNGE3ZTlk
MTkzNDRmNzY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxOCBAQAorMjAyMC0wOC0wNyAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbIGlPUyB3azIg
XSBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgaXMgYSBmbGFr
eSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTUyMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0czogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDMuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDkuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExOS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzIuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzguaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzkuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Lmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjEuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjIuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNjUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjcuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjguaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjkuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Lmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTIu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xOTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOTQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTcuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTguaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xOTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDIuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMDUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDcuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDguaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDkuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxMC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjI3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzIu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMzMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzYuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzcuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzguaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Lmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjUxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjAuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjcuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNjkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI3NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yOTEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTQuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTYuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yOTguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDAuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDEu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMDMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDYuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDcuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMDkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzIwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzQuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzUuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzYuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMzguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNjEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjMuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNjguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjkuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzg1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zOTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTIuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTMuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zOTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTguaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MDEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDMuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDkuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxOS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzIuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzMuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzQuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzguaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDUzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjIuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjMuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjcuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjguaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjkuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTAuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTIuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OTQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTYuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTcuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTguaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
OTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTYyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTc1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4Lmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTk1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk4Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRtbAorCisg
ICAgICAgICogZWRpdGluZy9EZWxldGVTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnJlcHIpOgorICAgICAgICAoV2ViQ29yZTo6c3RyaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OkRlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OnJlbW92ZVJlZHVuZGFudEJsb2Nrcyk6CisgICAg
ICAgICogcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Q29uc29sZUNsaWVudDo6bWVzc2FnZVdpdGhUeXBlQW5kTGV2ZWwpOgorCiAyMDIwLTA4LTA3ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBzdG9yaW5nIHRo
ZSBzYW1wbGVSYXRlIG9uIEF1ZGlvTm9kZSBhbmQgZ2V0IGl0IGZyb20gdGhlIEF1ZGlvQ29udGV4
dCBpbnN0ZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVj
dGlvbkNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVTZWxlY3Rpb25D
b21tYW5kLmNwcAppbmRleCAyNWJkMzNmZGQ0MTc2NzQ0NmI3NTMzZDlhNzZmYTEzNDgyZWYxYWVi
Li5iNmQ3NmE2OGU4M2EyYzc4ZWZhMmZjZTU1ZDg1OWNmMTkzMzFiYmZlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5jcHAKQEAgLTQ2LDEw
ICs0Niw5NCBAQAogI2luY2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlICJWaXNpYmxlVW5pdHMuaCIK
IAorI2luY2x1ZGUgPFdlYkNvcmUvU3BhY2VTcGxpdFN0cmluZy5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvRWxlbWVudC5oPgorI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJzLmg+CisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAorc3RhdGljIFN0cmlu
ZyByZXByKGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIGNsYXNzTmFtZXMpCit7CisgICAgaWYgKGNs
YXNzTmFtZXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKworICAg
IFN0cmluZ0J1aWxkZXIgYnVmZmVyOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjbGFz
c05hbWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChpKQorICAgICAgICAgICAgYnVmZmVy
LmFwcGVuZCgiICIpOworICAgICAgICBidWZmZXIuYXBwZW5kKGNsYXNzTmFtZXNbaV0uc3RyaW5n
KCkpOworICAgIH0KKyAgICByZXR1cm4gYnVmZmVyLnRvU3RyaW5nKCk7Cit9CisKK3N0YXRpYyBT
dHJpbmcgc3RyaW5nKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAgaWYgKCFub2RlKQorICAgICAg
ICByZXR1cm4gIihudWxsKSI7CisgICAgaWYgKG5vZGUtPmlzVGV4dE5vZGUoKSkgeworICAgICAg
ICBhdXRvIHRleHQgPSBub2RlLT50ZXh0Q29udGVudCgpOworICAgICAgICBTdHJpbmcgZmlsdGVy
ZWRUZXh0OworICAgICAgICBpZiAodGV4dC5sZW5ndGgoKSA+IDEyKQorICAgICAgICAgICAgZmls
dGVyZWRUZXh0ID0gdGV4dC5zdWJzdHJpbmcoMCwgMTIpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBmaWx0ZXJlZFRleHQgPSB0ZXh0OworICAgICAgICBmaWx0ZXJlZFRleHQucmVwbGFjZSgi
XG4iLCAiXFxuIik7CisgICAgICAgIGZpbHRlcmVkVGV4dC5yZXBsYWNlKCJcciIsICJcXHIiKTsK
KyAgICAgICAgZmlsdGVyZWRUZXh0LnJlcGxhY2UoIlx0IiwgIlxcdCIpOworICAgICAgICBpZiAo
dGV4dC5sZW5ndGgoKSA+IDEyKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlwiIl9z
LCBmaWx0ZXJlZFRleHQsICIuLi5cIiJfcywgIiAobGVuZ3RoOiAiX3MsIHRleHQubGVuZ3RoKCks
ICIpIl9zKTsKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlwiIl9zLCBmaWx0ZXJlZFRleHQs
ICJcIiJfcyk7CisgICAgfQorICAgIGlmIChub2RlLT5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAg
ICAgYXV0byYgZWxlbWVudCA9IGRvd25jYXN0PEVsZW1lbnQ+KCpub2RlKTsKKyAgICAgICAgaWYg
KGVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkgeworICAgICAgICAgICAg
cmV0dXJuIG1ha2VTdHJpbmcoIjwiX3MsCisgICAgICAgICAgICAgICAgZWxlbWVudC50YWdOYW1l
KCksCisgICAgICAgICAgICAgICAgIiAweCJfcywKKyAgICAgICAgICAgICAgICBoZXgocmVpbnRl
cnByZXRfY2FzdDx1aW50cHRyX3Q+KG5vZGUpLCA4LCBMb3dlcmNhc2UpLAorICAgICAgICAgICAg
ICAgICIgaWQ9JyJfcywgZWxlbWVudC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmluZygpLCAiJyJfcywK
KyAgICAgICAgICAgICAgICAiIG5hbWU9JyJfcywgZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3lu
Y2hyb25pemF0aW9uKEhUTUxOYW1lczo6bmFtZUF0dHIpLCAiJyJfcywKKyAgICAgICAgICAgICAg
ICAiIHR5cGU9JyJfcywgZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhU
TUxOYW1lczo6dHlwZUF0dHIpLCAiJyJfcywKKyAgICAgICAgICAgICAgICAiIGNsYXNzPSciX3Ms
IGVsZW1lbnQuaGFzQ2xhc3MoKSA/IHJlcHIoZWxlbWVudC5jbGFzc05hbWVzKCkpIDogIiIsICIn
PiJfcyk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFt
ZXM6OmFUYWcpKSB7CisgICAgICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiPCJfcywKKyAgICAg
ICAgICAgICAgICBlbGVtZW50LnRhZ05hbWUoKSwKKyAgICAgICAgICAgICAgICAiIDB4Il9zLAor
ICAgICAgICAgICAgICAgIGhleChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4obm9kZSksIDgs
IExvd2VyY2FzZSksCisgICAgICAgICAgICAgICAgIiBpZD0nIl9zLCBlbGVtZW50LmdldElkQXR0
cmlidXRlKCkuc3RyaW5nKCksICInIl9zLAorICAgICAgICAgICAgICAgICIgaHJlZj0nIl9zLCBl
bGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpocmVmQXR0
ciksICInIl9zLAorICAgICAgICAgICAgICAgICIgY2xhc3M9JyJfcywgZWxlbWVudC5oYXNDbGFz
cygpID8gcmVwcihlbGVtZW50LmNsYXNzTmFtZXMoKSkgOiAiIiwgIic+Il9zKTsKKyAgICAgICAg
fQorICAgICAgICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKSkgewor
ICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIjwiX3MsCisgICAgICAgICAgICAgICAgZWxl
bWVudC50YWdOYW1lKCksCisgICAgICAgICAgICAgICAgIiAweCJfcywKKyAgICAgICAgICAgICAg
ICBoZXgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG5vZGUpLCA4LCBMb3dlcmNhc2UpLAor
ICAgICAgICAgICAgICAgICIgaWQ9JyJfcywgZWxlbWVudC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmlu
ZygpLCAiJyJfcywKKyAgICAgICAgICAgICAgICAiIHNyYz0nIl9zLCBlbGVtZW50LmF0dHJpYnV0
ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpzcmNBdHRyKSwgIiciX3MsCisgICAg
ICAgICAgICAgICAgIiBjbGFzcz0nIl9zLCBlbGVtZW50Lmhhc0NsYXNzKCkgPyByZXByKGVsZW1l
bnQuY2xhc3NOYW1lcygpKSA6ICIiLCAiJz4iX3MpOworICAgICAgICB9CisgICAgICAgIHJldHVy
biBtYWtlU3RyaW5nKCI8Il9zLAorICAgICAgICAgICAgZWxlbWVudC50YWdOYW1lKCksCisgICAg
ICAgICAgICAiIDB4Il9zLAorICAgICAgICAgICAgaGV4KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0
cl90Pihub2RlKSwgOCwgTG93ZXJjYXNlKSwKKyAgICAgICAgICAgICIgaWQ9JyJfcywgZWxlbWVu
dC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmluZygpLCAiJyJfcywKKyAgICAgICAgICAgICIgY2xhc3M9
JyJfcywgZWxlbWVudC5oYXNDbGFzcygpID8gcmVwcihlbGVtZW50LmNsYXNzTmFtZXMoKSkgOiAi
IiwgIic+Il9zKTsKKyAgICB9CisgICAgcmV0dXJuIG1ha2VTdHJpbmcoIk5vZGUoMHgiX3MsIGhl
eChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4obm9kZSksIDgsIExvd2VyY2FzZSksICIpIl9z
KTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIqIHJlcHIoY29uc3QgTm9kZSogbm9kZSkKK3sKKyAg
ICByZXR1cm4gc3RyaW5nKG5vZGUpLnV0ZjgoKS5kYXRhKCk7Cit9CisKIHN0YXRpYyBib29sIGlz
VGFibGVSb3coY29uc3QgTm9kZSogbm9kZSkKIHsKICAgICByZXR1cm4gbm9kZSAmJiBub2RlLT5o
YXNUYWdOYW1lKHRyVGFnKTsKQEAgLTg3Myw2ICs5NTcsOSBAQCB2b2lkIERlbGV0ZVNlbGVjdGlv
bkNvbW1hbmQ6OnJlbW92ZVJlZHVuZGFudEJsb2NrcygpCiAgICAgTm9kZSogbm9kZSA9IG1fZW5k
aW5nUG9zaXRpb24uY29udGFpbmVyTm9kZSgpOwogICAgIE5vZGUqIHJvb3ROb2RlID0gbm9kZS0+
cm9vdEVkaXRhYmxlRWxlbWVudCgpOwogICAgCisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBSZW1v
dmUgcmVkdW5kYW50IGJsb2Nrcz8iKTsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IC0gbm9kZSAg
ICAgICVzIiwgcmVwcihub2RlKSk7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAtIHJvb3ROb2Rl
ICAlcyIsIHJlcHIocm9vdE5vZGUpKTsKICAgICB3aGlsZSAobm9kZSAhPSByb290Tm9kZSkgewog
ICAgICAgICBpZiAoaXNSZW1vdmFibGVCbG9jayhub2RlKSkgewogICAgICAgICAgICAgaWYgKG5v
ZGUgPT0gbV9lbmRpbmdQb3NpdGlvbi5hbmNob3JOb2RlKCkpCkBAIC05NDksNiArMTAzNiw5IEBA
IHZvaWQgRGVsZXRlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSgpCiAgICAgCiAgICAgcmVtb3Zl
UHJldmlvdXNseVNlbGVjdGVkRW1wdHlUYWJsZVJvd3MoKTsKICAgICAKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46IEFwcGxpZWQgRGVsZXRlU2VsZWN0aW9uQ29tbWFuZC4iKTsKKyAgICBXVEZMb2dB
bHdheXMoIjxXSz46IC0gbV9uZWVkUGxhY2Vob2xkZXIgJXMiLCBtX25lZWRQbGFjZWhvbGRlciA/
ICJ5ZXMiIDogIm5vIik7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAtIG1fc2FuaXRpemVNYXJr
dXAgICVzIiwgbV9zYW5pdGl6ZU1hcmt1cCA/ICJ5ZXMiIDogIm5vIik7CiAgICAgaWYgKG1fbmVl
ZFBsYWNlaG9sZGVyKSB7CiAgICAgICAgIGlmIChtX3Nhbml0aXplTWFya3VwKQogICAgICAgICAg
ICAgcmVtb3ZlUmVkdW5kYW50QmxvY2tzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNv
bGVDbGllbnQuY3BwCmluZGV4IDI2ZTYyNWY3NjBlY2EyZTc4YzIxYzM5YWYzYTU4MjBlMGNlMjZl
NTAuLmU0ZTJkOWQwZDc5NTVlZDRhODdiZWI3YmE2MjY4ZGU4MTI2OTg5MWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuY3BwCkBAIC0xNzYsNiArMTc2LDEwIEBAIHZv
aWQgUGFnZUNvbnNvbGVDbGllbnQ6Om1lc3NhZ2VXaXRoVHlwZUFuZExldmVsKE1lc3NhZ2VUeXBl
IHR5cGUsIE1lc3NhZ2VMZXZlbCBsCiB7CiAgICAgU3RyaW5nIG1lc3NhZ2VUZXh0OwogICAgIGJv
b2wgZ290TWVzc2FnZSA9IGFyZ3VtZW50cy0+Z2V0Rmlyc3RBcmd1bWVudEFzU3RyaW5nKG1lc3Nh
Z2VUZXh0KTsKKyAgICBpZiAoZ290TWVzc2FnZSAmJiBtZXNzYWdlVGV4dC5jb250YWlucygiPFdL
PiIpKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiKENPTlNPTEUpICVzIiwgbWVzc2FnZVRleHQu
dXRmOCgpLmRhdGEoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBhdXRvIG1lc3Nh
Z2UgPSBtYWtlVW5pcXVlPEluc3BlY3Rvcjo6Q29uc29sZU1lc3NhZ2U+KE1lc3NhZ2VTb3VyY2U6
OkNvbnNvbGVBUEksIHR5cGUsIGxldmVsLCBtZXNzYWdlVGV4dCwgYXJndW1lbnRzLmNvcHlSZWYo
KSwgbGV4aWNhbEdsb2JhbE9iamVjdCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhNmRiNzA4ZWM1ZTFmMGRmNDc2Yjkw
MDQ5ZTZlZTZmMTg4YjJhYjYzLi5hNjgwYWE2NDBiYzVlNGY0YTkyMWMyMWQ3NDgzMjk4NWYwNTY3
MWIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTAxMiBAQAorMjAyMC0wOC0wNyAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbIGlPUyB3azIgXSBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUyMTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMDAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDEuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDIuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MDcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDguaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTA5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMDkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTExMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTExLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTEyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTE1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTE4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjAtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyMy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjYt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEy
Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMjgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MjktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEyOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTMwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzAuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTMxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMzEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMzIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTM0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMzUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzYuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTM3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMzguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzkuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE0Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQ2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQ5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTgtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE1OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNjAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjEuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNjMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjQuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjUuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNjYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjcu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjguaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNjkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTcxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTcyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE3NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTc0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTc1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc2Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTc4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODAtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xODItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xODUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODYtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xODgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODkt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTku
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTkwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTAuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkx
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOTEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
OTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTkzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTMuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xOTQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xOTUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTk2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xOTguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTkuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDMuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjA0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMDUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDYuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjA3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMDguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDkuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjEzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjE2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjE3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjE5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMjAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIyMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjgtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyOC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMzAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzIuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzQu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMzYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MzcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzguaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjM5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMzkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI0NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQ1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQ4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTAtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI1My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTYt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI1Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjYwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjAuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjYxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNjEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjMuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjY0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjY3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNjguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjkuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjcwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjczLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjc2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjc5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yODMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODgtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI4OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yOTAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTEuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yOTMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTQuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTcu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTguaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yOTkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMDAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDEu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDIuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMDMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MDQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzA1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzA2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMDYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDguaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzA5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzEyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzE4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyMC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyMy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMy
NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMyNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMjktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzAuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMzIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzM0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMzUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzYuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzM3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMzguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzkuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQ2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTgtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjEuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjIuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNjMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY2
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNjYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NjcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjguaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNjkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcwLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzcyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzc1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzc4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODAtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zODItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM4My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zODUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODYt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zODgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
ODktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzkwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTAuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzkxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTMuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzk0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zOTUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTYuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zOTguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTkuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDAuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDAxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MDIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDMuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDYuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDA3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDcuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MDguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDku
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDEwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEx
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDEzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDE0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDE2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDE3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyNS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjgtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyOC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjktZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MzAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzEu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzIuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MzMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MzQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDM1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzUuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDM2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDM4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzguaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQzLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQ1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDQ4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ1My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjAuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NjIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjMuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDY0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NjUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjYuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjkuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDcwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDczLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc1Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ3OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDc5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00ODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00ODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00ODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ4NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODgtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OTAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTIuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00OTMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTQu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTUuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00OTYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
OTcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTguaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDk5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAw
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MDAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUx
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Mi5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU3Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTYxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTY0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OC5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNy5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTcxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTc0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTc3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTgxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTg0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTg3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OC5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTk0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTk3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OC5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbDoK
KwogMjAyMC0wOC0wNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgVUlTY3JpcHRDb250cm9sbGVyLnJlbW92ZUFsbER5bmFtaWNEaWN0aW9u
YXJpZXMoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDEt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDEuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEwNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMDQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMDcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTExLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTExLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMTIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTgt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTguaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjMu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjYuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyNy5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMjkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzNS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQx
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNDUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDguaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTAtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1
MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNTMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTYuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjQuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTcwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcxLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzIuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNzguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTc5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODAtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODAuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xODMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
ODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xODYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xODYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xODkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODkuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOTEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
OTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
OTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTcuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMDEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTguaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIyMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMjAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MjMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjYtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjYuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyNy5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMjkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMy5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzQuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzNS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMzcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI0Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDIuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNDUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQ3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDguaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDgu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI1MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNTMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTUuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTYuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTkuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNjEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjcwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzIuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNzguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjc5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODAuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yODYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yODYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
ODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODkuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yOTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI5MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
OTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTcuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDEuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMwMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMDcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzA5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzA5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTItZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTguaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMyMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMjMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjYtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjYuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyNy5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzQuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzNS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDIuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM0My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNDUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDcu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDguaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NDguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTAuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNTMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTYu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTkuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2
MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjEuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjctZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjcuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzcwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzIuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNzguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODAtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODAuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM4NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zODYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zODYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODkuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zOTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
OTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTYuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTcuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDEuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwNS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDcuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDExLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDExLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxMy5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTguaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MjMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQyNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQyNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjYuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNy5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzQuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzNS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDIuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NDUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NDguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTAtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTAuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUyLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NTMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NTYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTkuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NjEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjQu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ2Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjcuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDcwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzIuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzUuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NzguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODAtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00ODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODAuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgy
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00ODYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00ODYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00ODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODkuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00OTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00OTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00OTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00OTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NS5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00OTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTcuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MC5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01MDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTUxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTU2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTU3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTY4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjguaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ni1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OC5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ni5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbAppbmRleCA2OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sCkBAIC0yMCw4ICsyMCw5IEBA
IGZ1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewogICAgIHJldHVybiBu
b2RlOwogfQogCi1mdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCkgeworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CiAgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKIAogICAgIG5vZGUu
Zm9jdXMoKTsKQEAgLTMxLDE2ICszMiwzNyBAQCBmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgewogCiAgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CiAKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CiAgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKIH0KIAotdGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Ci10ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKLXRlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwotdGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKLXRlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Ci10ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Ci10ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKIAogcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406210</attachid>
            <date>2020-08-07 14:07:30 -0700</date>
            <delta_ts>2020-08-07 22:55:52 -0700</delta_ts>
            <desc>Repro v4</desc>
            <filename>bug-215218-20200807140726.patch</filename>
            <type>text/plain</type>
            <size>2333627</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1Mzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjIzNDZhY2Y3NzcwYjk1
OTk1N2M4OWFiMmQ5NWM3Mzc1ZDA1NmEyYi4uNjUyYzZiZTBhYzdlM2JiMDY1ZTZiODEwNGE3ZTlk
MTkzNDRmNzY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxOCBAQAorMjAyMC0wOC0wNyAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbIGlPUyB3azIg
XSBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgaXMgYSBmbGFr
eSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTUyMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0czogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDMuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDkuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExOS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzIuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzguaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzkuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Lmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjEuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjIuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNjUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjcuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjguaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjkuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Lmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTIu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xOTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOTQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTcuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTguaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xOTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDIuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMDUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDcuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDguaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDkuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxMC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjI3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzIu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMzMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzYuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzcuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzguaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Lmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjUxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjAuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjcuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNjkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI3NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yOTEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTQuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTYuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yOTguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDAuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDEu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMDMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDYuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDcuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMDkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzIwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzQuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzUuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzYuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMzguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNjEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjMuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNjguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjkuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzg1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zOTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTIuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTMuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zOTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTguaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MDEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDMuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDkuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxOS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzIuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzMuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzQuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzguaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDUzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjIuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjMuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjcuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjguaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjkuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTAuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTIuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OTQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTYuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTcuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTguaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
OTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTYyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTc1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4Lmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTk1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk4Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRtbAorCisg
ICAgICAgICogZWRpdGluZy9EZWxldGVTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnJlcHIpOgorICAgICAgICAoV2ViQ29yZTo6c3RyaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OkRlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OnJlbW92ZVJlZHVuZGFudEJsb2Nrcyk6CisgICAg
ICAgICogcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Q29uc29sZUNsaWVudDo6bWVzc2FnZVdpdGhUeXBlQW5kTGV2ZWwpOgorCiAyMDIwLTA4LTA3ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBzdG9yaW5nIHRo
ZSBzYW1wbGVSYXRlIG9uIEF1ZGlvTm9kZSBhbmQgZ2V0IGl0IGZyb20gdGhlIEF1ZGlvQ29udGV4
dCBpbnN0ZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVj
dGlvbkNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVTZWxlY3Rpb25D
b21tYW5kLmNwcAppbmRleCAyNWJkMzNmZGQ0MTc2NzQ0NmI3NTMzZDlhNzZmYTEzNDgyZWYxYWVi
Li44NGY2OWQzZWNhMmU3ZDYxYTI1YjNkYjg5OWI4ZjRjYjI2YzQyZWE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5jcHAKQEAgLTQ2LDEw
ICs0Niw5NCBAQAogI2luY2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlICJWaXNpYmxlVW5pdHMuaCIK
IAorI2luY2x1ZGUgPFdlYkNvcmUvU3BhY2VTcGxpdFN0cmluZy5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvRWxlbWVudC5oPgorI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJzLmg+CisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAorc3RhdGljIFN0cmlu
ZyByZXByKGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIGNsYXNzTmFtZXMpCit7CisgICAgaWYgKGNs
YXNzTmFtZXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKworICAg
IFN0cmluZ0J1aWxkZXIgYnVmZmVyOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjbGFz
c05hbWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChpKQorICAgICAgICAgICAgYnVmZmVy
LmFwcGVuZCgiICIpOworICAgICAgICBidWZmZXIuYXBwZW5kKGNsYXNzTmFtZXNbaV0uc3RyaW5n
KCkpOworICAgIH0KKyAgICByZXR1cm4gYnVmZmVyLnRvU3RyaW5nKCk7Cit9CisKK3N0YXRpYyBT
dHJpbmcgc3RyaW5nKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAgaWYgKCFub2RlKQorICAgICAg
ICByZXR1cm4gIihudWxsKSI7CisgICAgaWYgKG5vZGUtPmlzVGV4dE5vZGUoKSkgeworICAgICAg
ICBhdXRvIHRleHQgPSBub2RlLT50ZXh0Q29udGVudCgpOworICAgICAgICBTdHJpbmcgZmlsdGVy
ZWRUZXh0OworICAgICAgICBpZiAodGV4dC5sZW5ndGgoKSA+IDEyKQorICAgICAgICAgICAgZmls
dGVyZWRUZXh0ID0gdGV4dC5zdWJzdHJpbmcoMCwgMTIpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBmaWx0ZXJlZFRleHQgPSB0ZXh0OworICAgICAgICBmaWx0ZXJlZFRleHQucmVwbGFjZSgi
XG4iLCAiXFxuIik7CisgICAgICAgIGZpbHRlcmVkVGV4dC5yZXBsYWNlKCJcciIsICJcXHIiKTsK
KyAgICAgICAgZmlsdGVyZWRUZXh0LnJlcGxhY2UoIlx0IiwgIlxcdCIpOworICAgICAgICBpZiAo
dGV4dC5sZW5ndGgoKSA+IDEyKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlwiIl9z
LCBmaWx0ZXJlZFRleHQsICIuLi5cIiJfcywgIiAobGVuZ3RoOiAiX3MsIHRleHQubGVuZ3RoKCks
ICIpIl9zKTsKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlwiIl9zLCBmaWx0ZXJlZFRleHQs
ICJcIiJfcyk7CisgICAgfQorICAgIGlmIChub2RlLT5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAg
ICAgYXV0byYgZWxlbWVudCA9IGRvd25jYXN0PEVsZW1lbnQ+KCpub2RlKTsKKyAgICAgICAgaWYg
KGVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkgeworICAgICAgICAgICAg
cmV0dXJuIG1ha2VTdHJpbmcoIjwiX3MsCisgICAgICAgICAgICAgICAgZWxlbWVudC50YWdOYW1l
KCksCisgICAgICAgICAgICAgICAgIiAweCJfcywKKyAgICAgICAgICAgICAgICBoZXgocmVpbnRl
cnByZXRfY2FzdDx1aW50cHRyX3Q+KG5vZGUpLCA4LCBMb3dlcmNhc2UpLAorICAgICAgICAgICAg
ICAgICIgaWQ9JyJfcywgZWxlbWVudC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmluZygpLCAiJyJfcywK
KyAgICAgICAgICAgICAgICAiIG5hbWU9JyJfcywgZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3lu
Y2hyb25pemF0aW9uKEhUTUxOYW1lczo6bmFtZUF0dHIpLCAiJyJfcywKKyAgICAgICAgICAgICAg
ICAiIHR5cGU9JyJfcywgZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhU
TUxOYW1lczo6dHlwZUF0dHIpLCAiJyJfcywKKyAgICAgICAgICAgICAgICAiIGNsYXNzPSciX3Ms
IGVsZW1lbnQuaGFzQ2xhc3MoKSA/IHJlcHIoZWxlbWVudC5jbGFzc05hbWVzKCkpIDogIiIsICIn
PiJfcyk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFt
ZXM6OmFUYWcpKSB7CisgICAgICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiPCJfcywKKyAgICAg
ICAgICAgICAgICBlbGVtZW50LnRhZ05hbWUoKSwKKyAgICAgICAgICAgICAgICAiIDB4Il9zLAor
ICAgICAgICAgICAgICAgIGhleChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4obm9kZSksIDgs
IExvd2VyY2FzZSksCisgICAgICAgICAgICAgICAgIiBpZD0nIl9zLCBlbGVtZW50LmdldElkQXR0
cmlidXRlKCkuc3RyaW5nKCksICInIl9zLAorICAgICAgICAgICAgICAgICIgaHJlZj0nIl9zLCBl
bGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpocmVmQXR0
ciksICInIl9zLAorICAgICAgICAgICAgICAgICIgY2xhc3M9JyJfcywgZWxlbWVudC5oYXNDbGFz
cygpID8gcmVwcihlbGVtZW50LmNsYXNzTmFtZXMoKSkgOiAiIiwgIic+Il9zKTsKKyAgICAgICAg
fQorICAgICAgICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKSkgewor
ICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIjwiX3MsCisgICAgICAgICAgICAgICAgZWxl
bWVudC50YWdOYW1lKCksCisgICAgICAgICAgICAgICAgIiAweCJfcywKKyAgICAgICAgICAgICAg
ICBoZXgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG5vZGUpLCA4LCBMb3dlcmNhc2UpLAor
ICAgICAgICAgICAgICAgICIgaWQ9JyJfcywgZWxlbWVudC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmlu
ZygpLCAiJyJfcywKKyAgICAgICAgICAgICAgICAiIHNyYz0nIl9zLCBlbGVtZW50LmF0dHJpYnV0
ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpzcmNBdHRyKSwgIiciX3MsCisgICAg
ICAgICAgICAgICAgIiBjbGFzcz0nIl9zLCBlbGVtZW50Lmhhc0NsYXNzKCkgPyByZXByKGVsZW1l
bnQuY2xhc3NOYW1lcygpKSA6ICIiLCAiJz4iX3MpOworICAgICAgICB9CisgICAgICAgIHJldHVy
biBtYWtlU3RyaW5nKCI8Il9zLAorICAgICAgICAgICAgZWxlbWVudC50YWdOYW1lKCksCisgICAg
ICAgICAgICAiIDB4Il9zLAorICAgICAgICAgICAgaGV4KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0
cl90Pihub2RlKSwgOCwgTG93ZXJjYXNlKSwKKyAgICAgICAgICAgICIgaWQ9JyJfcywgZWxlbWVu
dC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmluZygpLCAiJyJfcywKKyAgICAgICAgICAgICIgY2xhc3M9
JyJfcywgZWxlbWVudC5oYXNDbGFzcygpID8gcmVwcihlbGVtZW50LmNsYXNzTmFtZXMoKSkgOiAi
IiwgIic+Il9zKTsKKyAgICB9CisgICAgcmV0dXJuIG1ha2VTdHJpbmcoIk5vZGUoMHgiX3MsIGhl
eChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4obm9kZSksIDgsIExvd2VyY2FzZSksICIpIl9z
KTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIqIHJlcHIoY29uc3QgTm9kZSogbm9kZSkKK3sKKyAg
ICByZXR1cm4gc3RyaW5nKG5vZGUpLnV0ZjgoKS5kYXRhKCk7Cit9CisKIHN0YXRpYyBib29sIGlz
VGFibGVSb3coY29uc3QgTm9kZSogbm9kZSkKIHsKICAgICByZXR1cm4gbm9kZSAmJiBub2RlLT5o
YXNUYWdOYW1lKHRyVGFnKTsKQEAgLTg3Myw2ICs5NTcsOSBAQCB2b2lkIERlbGV0ZVNlbGVjdGlv
bkNvbW1hbmQ6OnJlbW92ZVJlZHVuZGFudEJsb2NrcygpCiAgICAgTm9kZSogbm9kZSA9IG1fZW5k
aW5nUG9zaXRpb24uY29udGFpbmVyTm9kZSgpOwogICAgIE5vZGUqIHJvb3ROb2RlID0gbm9kZS0+
cm9vdEVkaXRhYmxlRWxlbWVudCgpOwogICAgCisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBSZW1v
dmUgcmVkdW5kYW50IGJsb2Nrcz8iKTsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IC0gbm9kZSAg
ICAgICVzIiwgcmVwcihub2RlKSk7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAtIHJvb3ROb2Rl
ICAlcyIsIHJlcHIocm9vdE5vZGUpKTsKICAgICB3aGlsZSAobm9kZSAhPSByb290Tm9kZSkgewog
ICAgICAgICBpZiAoaXNSZW1vdmFibGVCbG9jayhub2RlKSkgewogICAgICAgICAgICAgaWYgKG5v
ZGUgPT0gbV9lbmRpbmdQb3NpdGlvbi5hbmNob3JOb2RlKCkpCkBAIC04ODcsMTMgKzk3NCwxNiBA
QCB2b2lkIERlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OnJlbW92ZVJlZHVuZGFudEJsb2NrcygpCiAK
IHZvaWQgRGVsZXRlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSgpCiB7CisgICAgV1RGTG9nQWx3
YXlzKCI8V0s+OiBBcHBseWluZyBEZWxldGVTZWxlY3Rpb25Db21tYW5kLi4uIik7CiAgICAgLy8g
SWYgc2VsZWN0aW9uIGhhcyBub3QgYmVlbiBzZXQgdG8gYSBjdXN0b20gc2VsZWN0aW9uIHdoZW4g
dGhlIGNvbW1hbmQgd2FzIGNyZWF0ZWQsCiAgICAgLy8gdXNlIHRoZSBjdXJyZW50IGVuZGluZyBz
ZWxlY3Rpb24uCiAgICAgaWYgKCFtX2hhc1NlbGVjdGlvblRvRGVsZXRlKQogICAgICAgICBtX3Nl
bGVjdGlvblRvRGVsZXRlID0gZW5kaW5nU2VsZWN0aW9uKCk7CiAKLSAgICBpZiAoIW1fc2VsZWN0
aW9uVG9EZWxldGUuaXNOb25PcnBoYW5lZFJhbmdlKCkpCisgICAgaWYgKCFtX3NlbGVjdGlvblRv
RGVsZXRlLmlzTm9uT3JwaGFuZWRSYW5nZSgpKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdL
PjogQmFpbGluZyBmcm9tIERlbGV0ZVNlbGVjdGlvbkNvbW1hbmQgKDEpIik7CiAgICAgICAgIHJl
dHVybjsKKyAgICB9CiAKICAgICBTdHJpbmcgb3JpZ2luYWxTdHJpbmcgPSBvcmlnaW5hbFN0cmlu
Z0ZvckF1dG9jb3JyZWN0aW9uQXRCZWdpbm5pbmdPZlNlbGVjdGlvbigpOwogCkBAIC05MjMsOCAr
MTAxMywxMCBAQCB2b2lkIERlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogICAgICAg
ICAKICAgICAKICAgICAvLyBzZXQgdXAgb3VyIHN0YXRlCi0gICAgaWYgKCFpbml0aWFsaXplUG9z
aXRpb25EYXRhKCkpCisgICAgaWYgKCFpbml0aWFsaXplUG9zaXRpb25EYXRhKCkpIHsKKyAgICAg
ICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBCYWlsaW5nIGZyb20gRGVsZXRlU2VsZWN0aW9uQ29tbWFu
ZCAoMikiKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIC8vIERlbGV0ZSBhbnkgdGV4
dCB0aGF0IG1heSBoaW5kZXIgb3VyIGFiaWxpdHkgdG8gZml4dXAgd2hpdGVzcGFjZSBhZnRlciB0
aGUgZGVsZXRlCiAgICAgZGVsZXRlSW5zaWduaWZpY2FudFRleHREb3duc3RyZWFtKG1fdHJhaWxp
bmdXaGl0ZXNwYWNlKTsgICAgCkBAIC05MzgsNiArMTAzMCw3IEBAIHZvaWQgRGVsZXRlU2VsZWN0
aW9uQ29tbWFuZDo6ZG9BcHBseSgpCiAgICAgICAgIHNldEVuZGluZ1NlbGVjdGlvbihWaXNpYmxl
U2VsZWN0aW9uKG1fZW5kaW5nUG9zaXRpb24sIGFmZmluaXR5LCBlbmRpbmdTZWxlY3Rpb24oKS5p
c0RpcmVjdGlvbmFsKCkpKTsKICAgICAgICAgY2xlYXJUcmFuc2llbnRTdGF0ZSgpOwogICAgICAg
ICByZWJhbGFuY2VXaGl0ZXNwYWNlKCk7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogQmFp
bGluZyBmcm9tIERlbGV0ZVNlbGVjdGlvbkNvbW1hbmQgKDMpIik7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgCkBAIC05NDgsNyArMTA0MSw4IEBAIHZvaWQgRGVsZXRlU2VsZWN0aW9uQ29t
bWFuZDo6ZG9BcHBseSgpCiAgICAgbWVyZ2VQYXJhZ3JhcGhzKCk7CiAgICAgCiAgICAgcmVtb3Zl
UHJldmlvdXNseVNlbGVjdGVkRW1wdHlUYWJsZVJvd3MoKTsKLSAgICAKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46IC0gbV9uZWVkUGxhY2Vob2xkZXIgJXMiLCBtX25lZWRQbGFjZWhvbGRlciA/ICJ5
ZXMiIDogIm5vIik7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAtIG1fc2FuaXRpemVNYXJrdXAg
ICVzIiwgbV9zYW5pdGl6ZU1hcmt1cCA/ICJ5ZXMiIDogIm5vIik7CiAgICAgaWYgKG1fbmVlZFBs
YWNlaG9sZGVyKSB7CiAgICAgICAgIGlmIChtX3Nhbml0aXplTWFya3VwKQogICAgICAgICAgICAg
cmVtb3ZlUmVkdW5kYW50QmxvY2tzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCmluZGV4IDk5MzRhMTM1NGZhZTY1OTlhNDk3OTgy
Y2JhMDBlYTY3MmYyZDY3OGQuLjRiYjZkZmE4ZDBkNWUyYTBkZDAyMTM1NjUxMTExNGIwYTAwYzYw
YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQuY3BwCkBAIC0xMDQ3LDYgKzEwNDcsNyBAQCBzdGF0aWMgYm9vbCBoYXNCbGFua0xpbmVC
ZXR3ZWVuUGFyYWdyYXBocyhQb3NpdGlvbiYgcG9zaXRpb24pCiAKIHZvaWQgUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogQXBwbHlp
bmcgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuLi4iKTsKICAgICBWaXNpYmxlU2VsZWN0aW9uIHNl
bGVjdGlvbiA9IGVuZGluZ1NlbGVjdGlvbigpOwogICAgIEFTU0VSVChzZWxlY3Rpb24uaXNDYXJl
dE9yUmFuZ2UoKSk7CiAgICAgQVNTRVJUKHNlbGVjdGlvbi5zdGFydCgpLmRlcHJlY2F0ZWROb2Rl
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcAppbmRleCAyNmU2
MjVmNzYwZWNhMmU3OGMyMWMzOWFmM2E1ODIwZTBjZTI2ZTUwLi5lNGUyZDlkMGQ3OTU1ZWQ0YTg3
YmViN2JhNjI2OGRlODEyNjk4OTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25zb2xlQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xl
Q2xpZW50LmNwcApAQCAtMTc2LDYgKzE3NiwxMCBAQCB2b2lkIFBhZ2VDb25zb2xlQ2xpZW50Ojpt
ZXNzYWdlV2l0aFR5cGVBbmRMZXZlbChNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAog
ewogICAgIFN0cmluZyBtZXNzYWdlVGV4dDsKICAgICBib29sIGdvdE1lc3NhZ2UgPSBhcmd1bWVu
dHMtPmdldEZpcnN0QXJndW1lbnRBc1N0cmluZyhtZXNzYWdlVGV4dCk7CisgICAgaWYgKGdvdE1l
c3NhZ2UgJiYgbWVzc2FnZVRleHQuY29udGFpbnMoIjxXSz4iKSkgeworICAgICAgICBXVEZMb2dB
bHdheXMoIihDT05TT0xFKSAlcyIsIG1lc3NhZ2VUZXh0LnV0ZjgoKS5kYXRhKCkpOworICAgICAg
ICByZXR1cm47CisgICAgfQogCiAgICAgYXV0byBtZXNzYWdlID0gbWFrZVVuaXF1ZTxJbnNwZWN0
b3I6OkNvbnNvbGVNZXNzYWdlPihNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCB0eXBlLCBsZXZl
bCwgbWVzc2FnZVRleHQsIGFyZ3VtZW50cy5jb3B5UmVmKCksIGxleGljYWxHbG9iYWxPYmplY3Qp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0
ZWJvYXJkSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVi
b2FyZElPUy5tbQppbmRleCA1MjYxZmI3YTkwODdkMjczYTkwNTEwNzJiOWJmMzMxZmY3ZWQyZjVh
Li40YzVkMDM5MTUwODBlMTYzYTM5ZmI2MDEyYTM5MDJjMWEwOGFjNDdhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0KQEAg
LTQxMiw2ICs0MTIsNyBAQCBib29sIFBsYXRmb3JtUGFzdGVib2FyZDo6YWxsb3dSZWFkaW5nVVJM
QXRJbmRleChjb25zdCBVUkwmIHVybCwgaW50IGluZGV4KSBjb25zdAogCiB2b2lkIFBsYXRmb3Jt
UGFzdGVib2FyZDo6d3JpdGUoY29uc3QgUGFzdGVib2FyZFdlYkNvbnRlbnQmIGNvbnRlbnQpCiB7
CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBXcml0aW5nIHdlYiBjb250ZW50IHRvIHBsYXRmb3Jt
IHBhc3RlYm9hcmQhICh3ZWIgYXJjaGl2ZSBkYXRhOiAldHUgYnl0ZXMpIiwgY29udGVudC5kYXRh
SW5XZWJBcmNoaXZlRm9ybWF0ID8gY29udGVudC5kYXRhSW5XZWJBcmNoaXZlRm9ybWF0LT5zaXpl
KCkgOiAwKTsKICAgICBhdXRvIHJlcHJlc2VudGF0aW9uc1RvUmVnaXN0ZXIgPSBhZG9wdE5TKFtb
V2ViSXRlbVByb3ZpZGVyUmVnaXN0cmF0aW9uSW5mb0xpc3QgYWxsb2NdIGluaXRdKTsKIAogI2lm
ICFQTEFURk9STShNQUNDQVRBTFlTVCkKQEAgLTY5OCw2ICs2OTksNyBAQCBSZWZQdHI8U2hhcmVk
QnVmZmVyPiBQbGF0Zm9ybVBhc3RlYm9hcmQ6OnJlYWRCdWZmZXIoc2l6ZV90IGluZGV4LCBjb25z
dCBTdHJpbmcmCiAgICAgaWYgKChOU0ludGVnZXIpaW5kZXggPCAwIHx8IChOU0ludGVnZXIpaW5k
ZXggPj0gW21fcGFzdGVib2FyZCBudW1iZXJPZkl0ZW1zXSkKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJlYWRpbmcgYnVmZmVyIGZvciB0eXBlIFwi
JXNcIiIsIHR5cGUudXRmOCgpLmRhdGEoKSk7CiAgICAgTlNJbmRleFNldCAqaW5kZXhTZXQgPSBb
TlNJbmRleFNldCBpbmRleFNldFdpdGhJbmRleDppbmRleF07CiAKICAgICBSZXRhaW5QdHI8TlNB
cnJheT4gcGFzdGVib2FyZEl0ZW0gPSBbbV9wYXN0ZWJvYXJkIGRhdGFGb3JQYXN0ZWJvYXJkVHlw
ZTp0eXBlIGluSXRlbVNldDppbmRleFNldF07CkBAIC03MjIsNiArNzI0LDcgQEAgU3RyaW5nIFBs
YXRmb3JtUGFzdGVib2FyZDo6cmVhZFN0cmluZyhzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYg
dHlwZSkgY29uc3QKICAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4geyB9OwogCisgICAg
V1RGTG9nQWx3YXlzKCI8V0s+OiBSZWFkaW5nIHN0cmluZyBmb3IgdHlwZSBcIiVzXCIiLCB0eXBl
LnV0ZjgoKS5kYXRhKCkpOwogICAgIGlmIChbdmFsdWUgaXNLaW5kT2ZDbGFzczpbTlNEYXRhIGNs
YXNzXV0pCiAgICAgICAgIHZhbHVlID0gYWRvcHROUyhbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0
aERhdGE6KE5TRGF0YSAqKXZhbHVlLmdldCgpIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5n
XSk7CiAgICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggYTZkYjcwOGVjNWUxZjBkZjQ3NmI5MDA0OWU2ZWU2ZjE4OGIyYWI2
My4uYTY4MGFhNjQwYmM1ZTRmNGE5MjFjMjFkNzQ4MzI5ODVmMDU2NzFiMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEwMTIgQEAKKzIwMjAtMDgtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgWyBpT1Mgd2syIF0gZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MjE4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTAyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAz
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTA1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTA2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTA5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExMS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjAuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTIxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjEuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjMu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTI0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjQuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMjUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MjYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTI3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjcuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMjguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMjkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTMxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMyLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTM0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTM3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDItZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTUwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNTAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNTEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTIuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTUzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNTQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTUuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTU2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNTcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTguaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTYyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTY1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTY4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTY5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNy5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NzAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE3MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNzMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNzYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNzktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODAuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTgxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xODIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODMuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTg0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODQuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xODUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODYu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTg3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODcuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xODguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
ODkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTkwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTk3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjAxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjA0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA4Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxNS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTYtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIxNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIxLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMjEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjIuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMjQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjUuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMjcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjguaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjI5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjkuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIzMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjMyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMz
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjM1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjM2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjM4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI0MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNDktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTAuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTEuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTMu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTQuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNTUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NTYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTcuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNTguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNTkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjYxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYyLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjY0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjY3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzItZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzYtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjgwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yODAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yODEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODIuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjgzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yODQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODUuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yODcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODguaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjkyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjk1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjk4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjk5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAw
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzAzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMwNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzA1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzA2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzA5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMS5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxMS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjAu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzIxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjEuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMjIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MjMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzI0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjQuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMjYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzI3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjcuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMjkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzMxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzM0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzM3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDYtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzUwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNTEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTIuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzUzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNTQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTUuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzU2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTguaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTkuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzYyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYz
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2
NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzY1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM2OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzY4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzY5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNzAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNzMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNzYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM3Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNzktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODAuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzgxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODEuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zODIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODMu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODQuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zODUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
ODYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzg3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODcuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zODguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zODkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzkxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzk3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk4Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDAxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAyLmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDA0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTAtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxMy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTYtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDIwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MjEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjIuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MjQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjUuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDI2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjYuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MjcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mjgu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDI5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjkuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMw
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDMyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDMzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQzNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDM1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQzOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NDktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTAu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTEuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NTMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTQuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NTUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NTYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDU3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTcuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NTkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDYxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDY0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDY3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzAtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzYtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDguaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDgwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00ODEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODIuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDgzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODUuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDg2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00ODcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODguaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDg5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODkuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDkyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkz
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDk1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDk2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDk4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDk5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTUwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTAwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUz
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTU3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTYwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTYzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTY2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTcwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTczLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTc2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTc5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTguaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTgwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTgzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTg2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ny5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTg5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTk2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTk5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWw6CisKIDIwMjAtMDgtMDcgIFdl
bnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIFVJ
U2NyaXB0Q29udHJvbGxlci5yZW1vdmVBbGxEeW5hbWljRGljdGlvbmFyaWVzKCkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDIu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEwNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEwOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTExLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTAuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTMuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMTYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTku
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIw
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjEtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEy
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMjQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjcuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMzIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEz
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEzNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzUuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzguaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDAuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNDAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDMuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNDkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTEuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUzLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE1NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1
NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNTcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNjIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNjUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjguaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNzAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NzMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzYtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzYuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNzkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODEu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODQuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xODcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTIuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE5NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xOTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTgt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTguaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTgu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MDIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDUuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMDguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTAu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTMuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMTYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjEtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIyMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjEuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIyNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMjQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjcu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMzIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzguaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNDAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDMuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI0Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNDkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI1MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTEuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI1NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNTcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjItZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjguaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI3MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNzAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNzMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzYtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzYuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOC5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
ODEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODQuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI4Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yODcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
ODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjku
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI5Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTIuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yOTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yOTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTcu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTguaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
OTguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTMuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTYtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMTYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMyMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjEuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMyMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMjQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MjcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzUu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzgtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzguaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNDAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDMuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDYuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTEuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1
Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTcuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2
Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM2My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNjUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjguaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNzMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzYuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzguaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
ODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zODEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
ODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM4NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODQuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTIuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM5My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zOTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
OTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQwOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTIuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTMuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTkuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjEt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjEuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MjQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MjcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQzMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MzIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MzUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mzgt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzguaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NDAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDMu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDYuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTEtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTEuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTQuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NTcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ni1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYx
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ2Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjguaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzAtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NzMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzYuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDguaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00ODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00ODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00ODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00ODEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
ODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00ODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODQuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00ODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00ODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00ODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
OTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTIuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00OTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00OTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00OTguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTUwMC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Mi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNy5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcwLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc5
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MC5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTgxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OS5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTk4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwKaW5kZXggNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDcz
MTMzYTJhMWE3YjBmZTQzYi4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbApAQCAtMjAsOCArMjAsOSBAQCBmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKICAgICByZXR1cm4gbm9kZTsKIH0KIAotZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQpIHsKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgewogICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwog
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CiAKICAgICBub2RlLmZvY3VzKCk7CkBAIC0zMSwx
NiArMzIsMzcgQEAgZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQpIHsKIAogICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwog
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOwogICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7CiB9CiAKLXRlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIp
OwotdGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
Iik7Ci10ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKLXRlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iik7Ci10ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIpOwotdGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIpOwotdGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CiAKIHJvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406212</attachid>
            <date>2020-08-07 14:18:52 -0700</date>
            <delta_ts>2020-08-07 22:55:45 -0700</delta_ts>
            <desc>Repro v5 (is this an IPC race?)</desc>
            <filename>bug-215218-20200807141847.patch</filename>
            <type>text/plain</type>
            <size>2335785</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1Mzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjIzNDZhY2Y3NzcwYjk1
OTk1N2M4OWFiMmQ5NWM3Mzc1ZDA1NmEyYi4uNjUyYzZiZTBhYzdlM2JiMDY1ZTZiODEwNGE3ZTlk
MTkzNDRmNzY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxOCBAQAorMjAyMC0wOC0wNyAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbIGlPUyB3azIg
XSBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgaXMgYSBmbGFr
eSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTUyMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0czogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDMuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDkuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExOS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzIuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzguaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzkuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Lmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjEuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjIuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNjUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjcuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjguaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjkuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Lmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTIu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xOTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOTQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTcuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTguaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xOTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDIuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMDUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDcuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDguaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDkuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxMC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjI3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzIu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMzMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzYuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzcuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzguaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Lmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjUxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjAuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjcuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNjkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI3NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yOTEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTQuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTYuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yOTguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDAuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDEu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMDMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDYuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDcuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMDkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzIwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzQuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzUuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzYuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMzguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNjEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjMuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNjguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjkuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzg1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zOTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTIuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTMuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zOTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTguaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MDEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDMuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDkuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxOS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzIuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzMuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzQuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzguaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDUzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjIuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjMuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjcuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjguaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjkuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTAuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTIuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OTQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTYuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTcuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTguaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
OTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTYyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTc1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4Lmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTk1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk4Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRtbAorCisg
ICAgICAgICogZWRpdGluZy9EZWxldGVTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnJlcHIpOgorICAgICAgICAoV2ViQ29yZTo6c3RyaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OkRlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OnJlbW92ZVJlZHVuZGFudEJsb2Nrcyk6CisgICAg
ICAgICogcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Q29uc29sZUNsaWVudDo6bWVzc2FnZVdpdGhUeXBlQW5kTGV2ZWwpOgorCiAyMDIwLTA4LTA3ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBzdG9yaW5nIHRo
ZSBzYW1wbGVSYXRlIG9uIEF1ZGlvTm9kZSBhbmQgZ2V0IGl0IGZyb20gdGhlIEF1ZGlvQ29udGV4
dCBpbnN0ZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVj
dGlvbkNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVTZWxlY3Rpb25D
b21tYW5kLmNwcAppbmRleCAyNWJkMzNmZGQ0MTc2NzQ0NmI3NTMzZDlhNzZmYTEzNDgyZWYxYWVi
Li44NGY2OWQzZWNhMmU3ZDYxYTI1YjNkYjg5OWI4ZjRjYjI2YzQyZWE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5jcHAKQEAgLTQ2LDEw
ICs0Niw5NCBAQAogI2luY2x1ZGUgIlRleHQuaCIKICNpbmNsdWRlICJWaXNpYmxlVW5pdHMuaCIK
IAorI2luY2x1ZGUgPFdlYkNvcmUvU3BhY2VTcGxpdFN0cmluZy5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvRWxlbWVudC5oPgorI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJzLmg+CisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAorc3RhdGljIFN0cmlu
ZyByZXByKGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIGNsYXNzTmFtZXMpCit7CisgICAgaWYgKGNs
YXNzTmFtZXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKworICAg
IFN0cmluZ0J1aWxkZXIgYnVmZmVyOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjbGFz
c05hbWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChpKQorICAgICAgICAgICAgYnVmZmVy
LmFwcGVuZCgiICIpOworICAgICAgICBidWZmZXIuYXBwZW5kKGNsYXNzTmFtZXNbaV0uc3RyaW5n
KCkpOworICAgIH0KKyAgICByZXR1cm4gYnVmZmVyLnRvU3RyaW5nKCk7Cit9CisKK3N0YXRpYyBT
dHJpbmcgc3RyaW5nKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAgaWYgKCFub2RlKQorICAgICAg
ICByZXR1cm4gIihudWxsKSI7CisgICAgaWYgKG5vZGUtPmlzVGV4dE5vZGUoKSkgeworICAgICAg
ICBhdXRvIHRleHQgPSBub2RlLT50ZXh0Q29udGVudCgpOworICAgICAgICBTdHJpbmcgZmlsdGVy
ZWRUZXh0OworICAgICAgICBpZiAodGV4dC5sZW5ndGgoKSA+IDEyKQorICAgICAgICAgICAgZmls
dGVyZWRUZXh0ID0gdGV4dC5zdWJzdHJpbmcoMCwgMTIpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBmaWx0ZXJlZFRleHQgPSB0ZXh0OworICAgICAgICBmaWx0ZXJlZFRleHQucmVwbGFjZSgi
XG4iLCAiXFxuIik7CisgICAgICAgIGZpbHRlcmVkVGV4dC5yZXBsYWNlKCJcciIsICJcXHIiKTsK
KyAgICAgICAgZmlsdGVyZWRUZXh0LnJlcGxhY2UoIlx0IiwgIlxcdCIpOworICAgICAgICBpZiAo
dGV4dC5sZW5ndGgoKSA+IDEyKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlwiIl9z
LCBmaWx0ZXJlZFRleHQsICIuLi5cIiJfcywgIiAobGVuZ3RoOiAiX3MsIHRleHQubGVuZ3RoKCks
ICIpIl9zKTsKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlwiIl9zLCBmaWx0ZXJlZFRleHQs
ICJcIiJfcyk7CisgICAgfQorICAgIGlmIChub2RlLT5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAg
ICAgYXV0byYgZWxlbWVudCA9IGRvd25jYXN0PEVsZW1lbnQ+KCpub2RlKTsKKyAgICAgICAgaWYg
KGVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkgeworICAgICAgICAgICAg
cmV0dXJuIG1ha2VTdHJpbmcoIjwiX3MsCisgICAgICAgICAgICAgICAgZWxlbWVudC50YWdOYW1l
KCksCisgICAgICAgICAgICAgICAgIiAweCJfcywKKyAgICAgICAgICAgICAgICBoZXgocmVpbnRl
cnByZXRfY2FzdDx1aW50cHRyX3Q+KG5vZGUpLCA4LCBMb3dlcmNhc2UpLAorICAgICAgICAgICAg
ICAgICIgaWQ9JyJfcywgZWxlbWVudC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmluZygpLCAiJyJfcywK
KyAgICAgICAgICAgICAgICAiIG5hbWU9JyJfcywgZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3lu
Y2hyb25pemF0aW9uKEhUTUxOYW1lczo6bmFtZUF0dHIpLCAiJyJfcywKKyAgICAgICAgICAgICAg
ICAiIHR5cGU9JyJfcywgZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhU
TUxOYW1lczo6dHlwZUF0dHIpLCAiJyJfcywKKyAgICAgICAgICAgICAgICAiIGNsYXNzPSciX3Ms
IGVsZW1lbnQuaGFzQ2xhc3MoKSA/IHJlcHIoZWxlbWVudC5jbGFzc05hbWVzKCkpIDogIiIsICIn
PiJfcyk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFt
ZXM6OmFUYWcpKSB7CisgICAgICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiPCJfcywKKyAgICAg
ICAgICAgICAgICBlbGVtZW50LnRhZ05hbWUoKSwKKyAgICAgICAgICAgICAgICAiIDB4Il9zLAor
ICAgICAgICAgICAgICAgIGhleChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4obm9kZSksIDgs
IExvd2VyY2FzZSksCisgICAgICAgICAgICAgICAgIiBpZD0nIl9zLCBlbGVtZW50LmdldElkQXR0
cmlidXRlKCkuc3RyaW5nKCksICInIl9zLAorICAgICAgICAgICAgICAgICIgaHJlZj0nIl9zLCBl
bGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpocmVmQXR0
ciksICInIl9zLAorICAgICAgICAgICAgICAgICIgY2xhc3M9JyJfcywgZWxlbWVudC5oYXNDbGFz
cygpID8gcmVwcihlbGVtZW50LmNsYXNzTmFtZXMoKSkgOiAiIiwgIic+Il9zKTsKKyAgICAgICAg
fQorICAgICAgICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKSkgewor
ICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIjwiX3MsCisgICAgICAgICAgICAgICAgZWxl
bWVudC50YWdOYW1lKCksCisgICAgICAgICAgICAgICAgIiAweCJfcywKKyAgICAgICAgICAgICAg
ICBoZXgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG5vZGUpLCA4LCBMb3dlcmNhc2UpLAor
ICAgICAgICAgICAgICAgICIgaWQ9JyJfcywgZWxlbWVudC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmlu
ZygpLCAiJyJfcywKKyAgICAgICAgICAgICAgICAiIHNyYz0nIl9zLCBlbGVtZW50LmF0dHJpYnV0
ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpzcmNBdHRyKSwgIiciX3MsCisgICAg
ICAgICAgICAgICAgIiBjbGFzcz0nIl9zLCBlbGVtZW50Lmhhc0NsYXNzKCkgPyByZXByKGVsZW1l
bnQuY2xhc3NOYW1lcygpKSA6ICIiLCAiJz4iX3MpOworICAgICAgICB9CisgICAgICAgIHJldHVy
biBtYWtlU3RyaW5nKCI8Il9zLAorICAgICAgICAgICAgZWxlbWVudC50YWdOYW1lKCksCisgICAg
ICAgICAgICAiIDB4Il9zLAorICAgICAgICAgICAgaGV4KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0
cl90Pihub2RlKSwgOCwgTG93ZXJjYXNlKSwKKyAgICAgICAgICAgICIgaWQ9JyJfcywgZWxlbWVu
dC5nZXRJZEF0dHJpYnV0ZSgpLnN0cmluZygpLCAiJyJfcywKKyAgICAgICAgICAgICIgY2xhc3M9
JyJfcywgZWxlbWVudC5oYXNDbGFzcygpID8gcmVwcihlbGVtZW50LmNsYXNzTmFtZXMoKSkgOiAi
IiwgIic+Il9zKTsKKyAgICB9CisgICAgcmV0dXJuIG1ha2VTdHJpbmcoIk5vZGUoMHgiX3MsIGhl
eChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4obm9kZSksIDgsIExvd2VyY2FzZSksICIpIl9z
KTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIqIHJlcHIoY29uc3QgTm9kZSogbm9kZSkKK3sKKyAg
ICByZXR1cm4gc3RyaW5nKG5vZGUpLnV0ZjgoKS5kYXRhKCk7Cit9CisKIHN0YXRpYyBib29sIGlz
VGFibGVSb3coY29uc3QgTm9kZSogbm9kZSkKIHsKICAgICByZXR1cm4gbm9kZSAmJiBub2RlLT5o
YXNUYWdOYW1lKHRyVGFnKTsKQEAgLTg3Myw2ICs5NTcsOSBAQCB2b2lkIERlbGV0ZVNlbGVjdGlv
bkNvbW1hbmQ6OnJlbW92ZVJlZHVuZGFudEJsb2NrcygpCiAgICAgTm9kZSogbm9kZSA9IG1fZW5k
aW5nUG9zaXRpb24uY29udGFpbmVyTm9kZSgpOwogICAgIE5vZGUqIHJvb3ROb2RlID0gbm9kZS0+
cm9vdEVkaXRhYmxlRWxlbWVudCgpOwogICAgCisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBSZW1v
dmUgcmVkdW5kYW50IGJsb2Nrcz8iKTsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IC0gbm9kZSAg
ICAgICVzIiwgcmVwcihub2RlKSk7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAtIHJvb3ROb2Rl
ICAlcyIsIHJlcHIocm9vdE5vZGUpKTsKICAgICB3aGlsZSAobm9kZSAhPSByb290Tm9kZSkgewog
ICAgICAgICBpZiAoaXNSZW1vdmFibGVCbG9jayhub2RlKSkgewogICAgICAgICAgICAgaWYgKG5v
ZGUgPT0gbV9lbmRpbmdQb3NpdGlvbi5hbmNob3JOb2RlKCkpCkBAIC04ODcsMTMgKzk3NCwxNiBA
QCB2b2lkIERlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OnJlbW92ZVJlZHVuZGFudEJsb2NrcygpCiAK
IHZvaWQgRGVsZXRlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSgpCiB7CisgICAgV1RGTG9nQWx3
YXlzKCI8V0s+OiBBcHBseWluZyBEZWxldGVTZWxlY3Rpb25Db21tYW5kLi4uIik7CiAgICAgLy8g
SWYgc2VsZWN0aW9uIGhhcyBub3QgYmVlbiBzZXQgdG8gYSBjdXN0b20gc2VsZWN0aW9uIHdoZW4g
dGhlIGNvbW1hbmQgd2FzIGNyZWF0ZWQsCiAgICAgLy8gdXNlIHRoZSBjdXJyZW50IGVuZGluZyBz
ZWxlY3Rpb24uCiAgICAgaWYgKCFtX2hhc1NlbGVjdGlvblRvRGVsZXRlKQogICAgICAgICBtX3Nl
bGVjdGlvblRvRGVsZXRlID0gZW5kaW5nU2VsZWN0aW9uKCk7CiAKLSAgICBpZiAoIW1fc2VsZWN0
aW9uVG9EZWxldGUuaXNOb25PcnBoYW5lZFJhbmdlKCkpCisgICAgaWYgKCFtX3NlbGVjdGlvblRv
RGVsZXRlLmlzTm9uT3JwaGFuZWRSYW5nZSgpKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdL
PjogQmFpbGluZyBmcm9tIERlbGV0ZVNlbGVjdGlvbkNvbW1hbmQgKDEpIik7CiAgICAgICAgIHJl
dHVybjsKKyAgICB9CiAKICAgICBTdHJpbmcgb3JpZ2luYWxTdHJpbmcgPSBvcmlnaW5hbFN0cmlu
Z0ZvckF1dG9jb3JyZWN0aW9uQXRCZWdpbm5pbmdPZlNlbGVjdGlvbigpOwogCkBAIC05MjMsOCAr
MTAxMywxMCBAQCB2b2lkIERlbGV0ZVNlbGVjdGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogICAgICAg
ICAKICAgICAKICAgICAvLyBzZXQgdXAgb3VyIHN0YXRlCi0gICAgaWYgKCFpbml0aWFsaXplUG9z
aXRpb25EYXRhKCkpCisgICAgaWYgKCFpbml0aWFsaXplUG9zaXRpb25EYXRhKCkpIHsKKyAgICAg
ICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBCYWlsaW5nIGZyb20gRGVsZXRlU2VsZWN0aW9uQ29tbWFu
ZCAoMikiKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIC8vIERlbGV0ZSBhbnkgdGV4
dCB0aGF0IG1heSBoaW5kZXIgb3VyIGFiaWxpdHkgdG8gZml4dXAgd2hpdGVzcGFjZSBhZnRlciB0
aGUgZGVsZXRlCiAgICAgZGVsZXRlSW5zaWduaWZpY2FudFRleHREb3duc3RyZWFtKG1fdHJhaWxp
bmdXaGl0ZXNwYWNlKTsgICAgCkBAIC05MzgsNiArMTAzMCw3IEBAIHZvaWQgRGVsZXRlU2VsZWN0
aW9uQ29tbWFuZDo6ZG9BcHBseSgpCiAgICAgICAgIHNldEVuZGluZ1NlbGVjdGlvbihWaXNpYmxl
U2VsZWN0aW9uKG1fZW5kaW5nUG9zaXRpb24sIGFmZmluaXR5LCBlbmRpbmdTZWxlY3Rpb24oKS5p
c0RpcmVjdGlvbmFsKCkpKTsKICAgICAgICAgY2xlYXJUcmFuc2llbnRTdGF0ZSgpOwogICAgICAg
ICByZWJhbGFuY2VXaGl0ZXNwYWNlKCk7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogQmFp
bGluZyBmcm9tIERlbGV0ZVNlbGVjdGlvbkNvbW1hbmQgKDMpIik7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgCkBAIC05NDgsNyArMTA0MSw4IEBAIHZvaWQgRGVsZXRlU2VsZWN0aW9uQ29t
bWFuZDo6ZG9BcHBseSgpCiAgICAgbWVyZ2VQYXJhZ3JhcGhzKCk7CiAgICAgCiAgICAgcmVtb3Zl
UHJldmlvdXNseVNlbGVjdGVkRW1wdHlUYWJsZVJvd3MoKTsKLSAgICAKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46IC0gbV9uZWVkUGxhY2Vob2xkZXIgJXMiLCBtX25lZWRQbGFjZWhvbGRlciA/ICJ5
ZXMiIDogIm5vIik7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAtIG1fc2FuaXRpemVNYXJrdXAg
ICVzIiwgbV9zYW5pdGl6ZU1hcmt1cCA/ICJ5ZXMiIDogIm5vIik7CiAgICAgaWYgKG1fbmVlZFBs
YWNlaG9sZGVyKSB7CiAgICAgICAgIGlmIChtX3Nhbml0aXplTWFya3VwKQogICAgICAgICAgICAg
cmVtb3ZlUmVkdW5kYW50QmxvY2tzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCmluZGV4IDk5MzRhMTM1NGZhZTY1OTlhNDk3OTgy
Y2JhMDBlYTY3MmYyZDY3OGQuLjRiYjZkZmE4ZDBkNWUyYTBkZDAyMTM1NjUxMTExNGIwYTAwYzYw
YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQuY3BwCkBAIC0xMDQ3LDYgKzEwNDcsNyBAQCBzdGF0aWMgYm9vbCBoYXNCbGFua0xpbmVC
ZXR3ZWVuUGFyYWdyYXBocyhQb3NpdGlvbiYgcG9zaXRpb24pCiAKIHZvaWQgUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogQXBwbHlp
bmcgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuLi4iKTsKICAgICBWaXNpYmxlU2VsZWN0aW9uIHNl
bGVjdGlvbiA9IGVuZGluZ1NlbGVjdGlvbigpOwogICAgIEFTU0VSVChzZWxlY3Rpb24uaXNDYXJl
dE9yUmFuZ2UoKSk7CiAgICAgQVNTRVJUKHNlbGVjdGlvbi5zdGFydCgpLmRlcHJlY2F0ZWROb2Rl
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcAppbmRleCAyNmU2
MjVmNzYwZWNhMmU3OGMyMWMzOWFmM2E1ODIwZTBjZTI2ZTUwLi5lNGUyZDlkMGQ3OTU1ZWQ0YTg3
YmViN2JhNjI2OGRlODEyNjk4OTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25zb2xlQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xl
Q2xpZW50LmNwcApAQCAtMTc2LDYgKzE3NiwxMCBAQCB2b2lkIFBhZ2VDb25zb2xlQ2xpZW50Ojpt
ZXNzYWdlV2l0aFR5cGVBbmRMZXZlbChNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAog
ewogICAgIFN0cmluZyBtZXNzYWdlVGV4dDsKICAgICBib29sIGdvdE1lc3NhZ2UgPSBhcmd1bWVu
dHMtPmdldEZpcnN0QXJndW1lbnRBc1N0cmluZyhtZXNzYWdlVGV4dCk7CisgICAgaWYgKGdvdE1l
c3NhZ2UgJiYgbWVzc2FnZVRleHQuY29udGFpbnMoIjxXSz4iKSkgeworICAgICAgICBXVEZMb2dB
bHdheXMoIihDT05TT0xFKSAlcyIsIG1lc3NhZ2VUZXh0LnV0ZjgoKS5kYXRhKCkpOworICAgICAg
ICByZXR1cm47CisgICAgfQogCiAgICAgYXV0byBtZXNzYWdlID0gbWFrZVVuaXF1ZTxJbnNwZWN0
b3I6OkNvbnNvbGVNZXNzYWdlPihNZXNzYWdlU291cmNlOjpDb25zb2xlQVBJLCB0eXBlLCBsZXZl
bCwgbWVzc2FnZVRleHQsIGFyZ3VtZW50cy5jb3B5UmVmKCksIGxleGljYWxHbG9iYWxPYmplY3Qp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGFzdGVib2FyZElP
Uy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCmluZGV4
IDBhNDBkY2YyZWJiODY0NGYzYmVmODQ1YmYxMjE4YWIyZTI1YzNjMGUuLjgyMjIzNzllM2UwNTlj
MGY3YTcyMTE1MGYzODA4YzhkODY2ZDE0ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9QYXN0ZWJvYXJkSU9TLm1tCkBAIC0yOTMsNiArMjkzLDcgQEAgc3RhdGljIGJvb2wgcHJl
ZmVyc0F0dGFjaG1lbnRSZXByZXNlbnRhdGlvbihjb25zdCBQYXN0ZWJvYXJkSXRlbUluZm8mIGlu
Zm8pCiAKIHZvaWQgUGFzdGVib2FyZDo6cmVhZChQYXN0ZWJvYXJkV2ViQ29udGVudFJlYWRlciYg
cmVhZGVyLCBXZWJDb250ZW50UmVhZGluZ1BvbGljeSBwb2xpY3ksIE9wdGlvbmFsPHNpemVfdD4g
aXRlbUluZGV4KQogeworICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogUmVhZGluZyBwYXN0ZWJvYXJk
IHdlYiBjb250ZW50LiIpOwogICAgIHJlYWRlci5jb250ZW50T3JpZ2luID0gcmVhZE9yaWdpbigp
OwogICAgIGlmIChyZXNwZWN0c1VUSUZpZGVsaXRpZXMoKSkgewogICAgICAgICByZWFkUmVzcGVj
dGluZ1VUSUZpZGVsaXRpZXMocmVhZGVyLCBwb2xpY3ksIGl0ZW1JbmRleCk7CkBAIC0zMDMsOCAr
MzA0LDEwIEBAIHZvaWQgUGFzdGVib2FyZDo6cmVhZChQYXN0ZWJvYXJkV2ViQ29udGVudFJlYWRl
ciYgcmVhZGVyLCBXZWJDb250ZW50UmVhZGluZ1BvbGljCiAKICAgICBzaXplX3QgbnVtYmVyT2ZJ
dGVtcyA9IHN0cmF0ZWd5LmdldFBhc3RlYm9hcmRJdGVtc0NvdW50KG1fcGFzdGVib2FyZE5hbWUp
OwogCi0gICAgaWYgKCFudW1iZXJPZkl0ZW1zKQorICAgIGlmICghbnVtYmVyT2ZJdGVtcykgewor
ICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46ID0+IE5vIGl0ZW1zIik7CiAgICAgICAgIHJldHVy
bjsKKyAgICB9CiAKICAgICBOU0FycmF5ICp0eXBlcyA9IHN1cHBvcnRlZFdlYkNvbnRlbnRQYXN0
ZWJvYXJkVHlwZXMoKTsKICAgICBpbnQgbnVtYmVyT2ZUeXBlcyA9IFt0eXBlcyBjb3VudF07CkBA
IC0zMjAsOCArMzIzLDEwIEBAIHZvaWQgUGFzdGVib2FyZDo6cmVhZChQYXN0ZWJvYXJkV2ViQ29u
dGVudFJlYWRlciYgcmVhZGVyLCBXZWJDb250ZW50UmVhZGluZ1BvbGljCiAgICAgICAgICAgICBj
b250aW51ZTsKIAogICAgICAgICBhdXRvIGluZm8gPSBzdHJhdGVneS5pbmZvcm1hdGlvbkZvckl0
ZW1BdEluZGV4KGksIG1fcGFzdGVib2FyZE5hbWUsIG1fY2hhbmdlQ291bnQpOwotICAgICAgICBp
ZiAoIWluZm8pCisgICAgICAgIGlmICghaW5mbykgeworICAgICAgICAgICAgV1RGTG9nQWx3YXlz
KCI8V0s+OiA9PiBObyBpbmZvIik7CiAgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAog
I2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgICAgIGlmIChjYW5SZWFkQXR0YWNo
bWVudCAmJiBwcmVmZXJzQXR0YWNobWVudFJlcHJlc2VudGF0aW9uKCppbmZvKSkgewpAQCAtMzQw
LDggKzM0NSwxMCBAQCB2b2lkIFBhc3RlYm9hcmQ6OnJlYWQoUGFzdGVib2FyZFdlYkNvbnRlbnRS
ZWFkZXImIHJlYWRlciwgV2ViQ29udGVudFJlYWRpbmdQb2xpYwogICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogCiAgICAgICAgICAgICBhdXRvIGl0ZW1SZXN1bHQgPSByZWFkUGFzdGVib2FyZFdl
YkNvbnRlbnREYXRhRm9yVHlwZShyZWFkZXIsIHN0cmF0ZWd5LCB0eXBlLCAqaW5mbywgaSk7Ci0g
ICAgICAgICAgICBpZiAoaXRlbVJlc3VsdCA9PSBSZWFkZXJSZXN1bHQ6OlBhc3RlYm9hcmRXYXND
aGFuZ2VkRXh0ZXJuYWxseSkKKyAgICAgICAgICAgIGlmIChpdGVtUmVzdWx0ID09IFJlYWRlclJl
c3VsdDo6UGFzdGVib2FyZFdhc0NoYW5nZWRFeHRlcm5hbGx5KSB7CisgICAgICAgICAgICAgICAg
V1RGTG9nQWx3YXlzKCI8V0s+OiA9PiBDaGFuZ2VkIGV4dGVybmFsbHkuIik7CiAgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoaXRlbVJlc3Vs
dCA9PSBSZWFkZXJSZXN1bHQ6OlJlYWRUeXBlKQogICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElP
Uy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1Mu
bW0KaW5kZXggNTI2MWZiN2E5MDg3ZDI3M2E5MDUxMDcyYjliZjMzMWZmN2VkMmY1YS4uNGM1ZDAz
OTE1MDgwZTE2M2EzOWZiNjAxMmEzOTAyYzFhMDhhYzQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCkBAIC00MTIsNiAr
NDEyLDcgQEAgYm9vbCBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmFsbG93UmVhZGluZ1VSTEF0SW5kZXgo
Y29uc3QgVVJMJiB1cmwsIGludCBpbmRleCkgY29uc3QKIAogdm9pZCBQbGF0Zm9ybVBhc3RlYm9h
cmQ6OndyaXRlKGNvbnN0IFBhc3RlYm9hcmRXZWJDb250ZW50JiBjb250ZW50KQogeworICAgIFdU
RkxvZ0Fsd2F5cygiPFdLPjogV3JpdGluZyB3ZWIgY29udGVudCB0byBwbGF0Zm9ybSBwYXN0ZWJv
YXJkISAod2ViIGFyY2hpdmUgZGF0YTogJXR1IGJ5dGVzKSIsIGNvbnRlbnQuZGF0YUluV2ViQXJj
aGl2ZUZvcm1hdCA/IGNvbnRlbnQuZGF0YUluV2ViQXJjaGl2ZUZvcm1hdC0+c2l6ZSgpIDogMCk7
CiAgICAgYXV0byByZXByZXNlbnRhdGlvbnNUb1JlZ2lzdGVyID0gYWRvcHROUyhbW1dlYkl0ZW1Q
cm92aWRlclJlZ2lzdHJhdGlvbkluZm9MaXN0IGFsbG9jXSBpbml0XSk7CiAKICNpZiAhUExBVEZP
Uk0oTUFDQ0FUQUxZU1QpCkBAIC02OTgsNiArNjk5LDcgQEAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
UGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkQnVmZmVyKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5n
JgogICAgIGlmICgoTlNJbnRlZ2VyKWluZGV4IDwgMCB8fCAoTlNJbnRlZ2VyKWluZGV4ID49IFtt
X3Bhc3RlYm9hcmQgbnVtYmVyT2ZJdGVtc10pCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCisg
ICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBSZWFkaW5nIGJ1ZmZlciBmb3IgdHlwZSBcIiVzXCIiLCB0
eXBlLnV0ZjgoKS5kYXRhKCkpOwogICAgIE5TSW5kZXhTZXQgKmluZGV4U2V0ID0gW05TSW5kZXhT
ZXQgaW5kZXhTZXRXaXRoSW5kZXg6aW5kZXhdOwogCiAgICAgUmV0YWluUHRyPE5TQXJyYXk+IHBh
c3RlYm9hcmRJdGVtID0gW21fcGFzdGVib2FyZCBkYXRhRm9yUGFzdGVib2FyZFR5cGU6dHlwZSBp
bkl0ZW1TZXQ6aW5kZXhTZXRdOwpAQCAtNzIyLDYgKzcyNCw3IEBAIFN0cmluZyBQbGF0Zm9ybVBh
c3RlYm9hcmQ6OnJlYWRTdHJpbmcoc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHR5cGUpIGNv
bnN0CiAgICAgaWYgKCF2YWx1ZSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAorICAgIFdURkxvZ0Fs
d2F5cygiPFdLPjogUmVhZGluZyBzdHJpbmcgZm9yIHR5cGUgXCIlc1wiIiwgdHlwZS51dGY4KCku
ZGF0YSgpKTsKICAgICBpZiAoW3ZhbHVlIGlzS2luZE9mQ2xhc3M6W05TRGF0YSBjbGFzc11dKQog
ICAgICAgICB2YWx1ZSA9IGFkb3B0TlMoW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhEYXRhOihO
U0RhdGEgKil2YWx1ZS5nZXQoKSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ10pOwogICAg
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGE2ZGI3MDhlYzVlMWYwZGY0NzZiOTAwNDllNmVlNmYxODhiMmFiNjMuLmE2ODBh
YTY0MGJjNWU0ZjRhOTIxYzIxZDc0ODMyOTg1ZjA1NjcxYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMDEy
IEBACisyMDIwLTA4LTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgor
CisgICAgICAgIFsgaU9TIHdrMiBdIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTIxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEwMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwNS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDgtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwOC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDktZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMTAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTExLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTEu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTIuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMTMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MTQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTUuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTE2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMTYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMTcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTguaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTE5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTIyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTI1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzMC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzMy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEz
NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MzYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEzNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMzktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDAuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNDIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDMuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTQ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNDUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQ3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNDguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDkuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTUzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNjAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjgtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE2OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNzAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzEuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzIuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNzMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzQu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzUuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc2
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNzYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NzcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzguaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTc5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNzkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE4MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTgyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTg1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTAtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xOTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5
Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
OTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwMy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIwNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTAuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjExLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTMuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjE0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMTUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTYuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjE3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTcuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMTguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTku
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjIwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIx
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjI0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjI2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzNS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzgtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIzOC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzktZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNDAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDEu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDIuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNDMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ0LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NDQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDUuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQ2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNDYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNDcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDguaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjUyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjU4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNjgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzAuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjcxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNzIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzMuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjc0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNzUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzYuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjc3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNzguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzkuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjgzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg1Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjg5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yOTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI5NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yOTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTgtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDgt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwOC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEw
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMTAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MTEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTIuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMTMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMTQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzE1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTUuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzE2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMTcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTguaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzE5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMyMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzIyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzI1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzI4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzAt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzMC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMz
MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMzMy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMzYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMzktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDAuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNDIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDMuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNDUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDYuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQ3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDcuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDku
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzUwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUx
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzUzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM2NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjgtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjktZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcwLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNzAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzEu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzcyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzIuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNzMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NzQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzUuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzc2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNzYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNzcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzc4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzguaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzc5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzgyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzg1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM5MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zOTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zOTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
OTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM5Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwMS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MDktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTAuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDExLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MTIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTMuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDE0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTQuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MTUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE2LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTYu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTcuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MTguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MTkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDIwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDI0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQyNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzMi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzNS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzYtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mzgt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzOC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQw
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDAuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NDEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDIuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NDMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NDQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDUuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQ2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDYuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NDcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDguaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDkuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDUyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDU1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDU4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ni5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjAt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ2MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NjktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ny1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzAuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDcxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NzIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzMuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDc0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NzUuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzYuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDc3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzcuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NzguaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Nzku
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Lmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDgwLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgx
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDg0Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ4NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWw6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmcu
aHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDg3Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4Lmh0bWw6IENvcGll
ZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00OTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ5Mi5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00OTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5NS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTgtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5OC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTktZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTU1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni5odG1sOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTU4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OS5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
Lmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYwLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTYyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQuaHRtbDogQ29waWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTY1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTY4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OS5odG1sOiBD
b3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcwLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5o
dG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTc1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTc4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc5LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTg4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0bWw6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRt
bC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkw
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05MC5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEu
aHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLmh0bWw6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05My5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQuaHRt
bDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1Lmh0bWw6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05Ni5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy5odG1sLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk4Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05OS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sOgorCiAyMDIwLTA4LTA3ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBVSVNjcmlwdENv
bnRyb2xsZXIucmVtb3ZlQWxsRHluYW1pY0RpY3Rpb25hcmllcygpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDAtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDAuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwMS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMDMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMDYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDkuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMTEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTcuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExOC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjIu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjUuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMjguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOS5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzAuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzku
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQw
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDEtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNDEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNDQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDcuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNTIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTUuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTguaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjAuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjMuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNjkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNy5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzEuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNzcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xODItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
ODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xODIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xODUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xODUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xODUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
ODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODguaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
OTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
OTMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xOTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
OTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xOTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDkuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTcuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MjIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjUuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMjguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzAu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzMuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM1Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMzYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MzkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDEtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNDEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDEuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNDQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDcu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNTIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTUuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTguaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNjAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjMuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNjkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNy5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzEuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzcuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNzcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODItZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yODUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yODUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yODUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODguaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI4OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
OTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTYtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
OTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTYuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDAtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDAuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMwMS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDYuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMDYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA4Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzA4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDkuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTYuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTcuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMjIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjUuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjgtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMy
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMy
OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzYtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNy5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMzkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDEuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM0Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNDQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NDcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNTIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTUu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTgtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTguaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2
MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM2MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjMuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjYuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNjkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzEuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzcuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNzcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzguaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM4My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zODUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zODUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODguaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zOTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zOTMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTYuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zOTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDAtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDAuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAy
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDA4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDkuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTEtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxMi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTcuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MjIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAg
IHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAg
IG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hp
bGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBj
b25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0g
Y29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOwor
ICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91
bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVs
bG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKwor
cm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQyNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjUuaHRtbApAQCAt
MCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUu
aW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQp
IHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
KTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFw
cGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNv
cHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOwor
CisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0
ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJ
TFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0i
YCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3Vw
fSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7Cisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklO
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzAuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzIuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzMuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzNC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVy
JHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2Rl
LmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2Rl
LmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7Cisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3Vw
IiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJI
ZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
LCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBi
MWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsK
KyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9k
ZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOwor
ICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNv
bnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisg
ICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3Vw
ID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1
cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2
Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBj
b250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOwor
ICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUi
LCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAg
IGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIk
e2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25m
aXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
UEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQg
KyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdv
PC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYx
MGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzkuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MzkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwg
PSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBl
Y3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVy
SUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7
CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
RVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDog
IiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMiku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25z
b2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDEt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDEuaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhm
NTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQzLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NDQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5o
dG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250
YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAg
IHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBm
YWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9w
PiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFm
OTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NDcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlv
biBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0
cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQor
CitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3Rl
ZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9
YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBh
c3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisK
KyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQ
OiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7
Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
LCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xl
LmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTli
ZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC5odG1sCkBAIC0wLDAgKzEsNzIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZh
ciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5v
ZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQo
bm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNl
bGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25m
aXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29u
ZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAg
IH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRC
ZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8i
LCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9v
dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NTIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFm
Njg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkw
YjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NTUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBu
b2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUu
aWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9k
ZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVj
dEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJt
ZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmly
bWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0g
ZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgi
Y29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAx
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
bzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTgt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2
NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTguaHRtbApAQCAtMCwwICsx
LDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFn
TmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJI
VE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAg
ICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAg
ICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENo
aWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBm
YWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAg
Y29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09
IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEi
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtj
b250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZv
Y3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlu
bmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25z
b2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwg
IiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxs
bzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4m
IzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NjAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDYyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24g
YW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQg
ZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBj
ZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5
OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjMu
aHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVu
dC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9v
dCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOwor
ICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5j
dGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29u
dGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAg
ICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwg
ZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBp
ZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtl
eHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmly
bWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBB
U1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygi
PFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ2NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBh
Zjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2Rl
ID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQg
PSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7
CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFs
bCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRN
YXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVk
TWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29u
c29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxz
ZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29u
ZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxi
cj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHls
ZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhl
IHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJy
PndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ2Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5
YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjYuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDY4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Njku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTlj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NjkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290
KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2
YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250
ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJl
dHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5l
ciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9k
ZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9k
ZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgewor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1
MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ny5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzEtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzEuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndv
cmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVk
ZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzQuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3Zh
ciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBt
YXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7
CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0g
bWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIg
bm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2Rl
LmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5v
ZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxl
Y3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwg
MSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgz
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWlu
ZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7
CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRN
TDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09U
OiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsg
ZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgy
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53
b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxw
PkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2
NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ny1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMg
bm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NzcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2
ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDguaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgx
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODIuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00ODUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00ODUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Zh
ciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKwor
CitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRp
dGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3Vw
LCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29u
dGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1
cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5l
ckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxX
Sz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7
Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUz
NmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkg
eworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAp
OworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBw
ZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29w
eSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisK
KyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3Rl
ZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlM
VVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJg
KTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9
ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAg
ICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQor
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8i
LCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4i
KTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODguaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5
MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTAtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00OTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTAuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXAp
IHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAg
bm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3Vw
OworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUs
IG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0g
YGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOwor
CisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwi
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFy
a3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1h
cmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAg
Y29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
Nik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
LCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1g
OworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFz
dGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKwor
ICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6
ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtj
b25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0
ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIs
IDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUg
VHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJl
ZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00OTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkg
YSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNy
ZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00OTMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rp
b24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0
ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBz
ZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitm
dW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFi
bGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2Rl
OworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBl
eHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFp
bmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygp
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhU
TUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBj
b25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46
IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdP
VDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citj
b25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIw
NjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00OTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4K
KworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7
Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTYuaHRtbApA
QCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5v
ZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2Up
OworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjog
RklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIx
YTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29u
dGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAg
ICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZh
bHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAg
PSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3Vw
KSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5s
b2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVk
TWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3Js
ZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5l
IE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNw
bGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZm
OTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5OS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUg
c2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxk
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00OTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEw
YWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciBy
b290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJr
dXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7Cisg
ICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFy
a3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05h
bWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9k
ZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlk
ID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUp
OworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RB
bGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVk
TWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1l
ZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAg
ICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkw
YWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWlu
ZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxz
ZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChl
eHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVj
dGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRN
YXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEi
KTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIp
OworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIs
ICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1
OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01MDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5k
IHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2
cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50
ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBh
ZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDAuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92
ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIp
OworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAg
IG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFp
bmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFs
TWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICBy
b290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFs
c2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAo
ZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdL
PjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBl
Y3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVk
TWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1Mh
Iik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdL
PjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4
NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01Ny5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTkuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFp
bmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBu
b2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNl
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBu
b2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFy
a3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIs
ICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9u
ZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4
ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYwLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRv
ZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hl
bGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5Ywot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02NS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9u
IGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTcuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBz
ZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0
ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsK
KworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIg
bm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVy
biBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7
Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5m
b2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5p
bm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAg
ICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2co
YDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
NSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iiwg
Nyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZi
MDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MC5odG1sCkBAIC0wLDAg
KzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgewor
ICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOwor
ICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAg
ICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAh
PT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJF
ISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImAp
OworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBz
aG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
Kworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03My5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ni5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OS5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIg
dGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxv
PGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVl
OWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAuaHRtbApAQCAtMCwwICsxLDcy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2Vs
ZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsK
K3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1M
ID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3Rl
KHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2
YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBu
b2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxk
KG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJT
ZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29u
ZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNv
bmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsK
KyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
IiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04MS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04My1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODMuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ny5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOS5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJ
RH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7Cisg
ICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
UGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsK
KworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBF
WFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAi
JHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygi
PFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhw
ZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3Js
ZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxp
bmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRm
MTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxl
Y3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBu
ZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTEuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBh
c3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1
bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVl
OworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwg
Y29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsK
KyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3Rl
IiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAg
ICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxv
ZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAi
JHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29u
ZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAy
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxv
ZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5
OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBg
Y29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisK
KyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIs
IGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJr
dXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFy
a3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQor
ICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmly
bWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05My5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5
MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0
aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvPGJyPndvcmxkJworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPicKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2YjA2NjVlOWJlZGYxMGFmOTkwYjFh
ODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNv
cHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90
IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTsKK3ZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChy
b290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBtYXJrdXApIHsKKyAg
ICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgbm9kZS5j
b250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5uZXJIVE1MID0gbWFya3VwOworICAg
IHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdp
bmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsKKyAgICB2YXIgbm9kZSA9IGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRh
aW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVuZENoaWxkKG5vZGUpOworCisgICAg
bm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJTZWxlY3RBbGwiLCBmYWxz
ZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisgICAgY29uZmlybWVkTWFya3VwID0g
bm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkg
eworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29s
ZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDEp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIiwgMSk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgzKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDQp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCA0KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgNik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmY5OTBhZjY4
OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS5odG1sCkBA
IC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkLCBjb250YWluZXJJ
RCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250YWluZXJJRH1gOworICAgIHJvb3Qu
YXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3VzKCk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiLCBmYWxzZSk7
CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKKworICAgIGlmIChleHBl
Y3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBG
QUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4cGVjdGVk
fSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJtZWRNYXJr
dXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFTUyEiKTsK
KyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAiJyIpOwor
fQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
Myk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBG
SU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ni1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ni5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3Rl
IG92ZXIgdGhlIHNhbWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy4KKwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJ0hlbGxvJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
J0hlbGxvPGJyPndvcmxkJworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZmOTkwYWY2ODhmNTM2
YjA2NjVlOWJlZGYxMGFmOTkwYjFhODU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGNvcHkgYSBzZWxlY3Rpb24gYW5kIHBhc3RlIG92ZXIgdGhlIHNh
bWUgc2VsZWN0aW9uIGRvZXMgbm90IGNyZWF0ZSBuZXN0ZWQgZGl2cy48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciBzZWwgPSBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKTsKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicm9vdCIpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKKworCitmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBtYXJrdXApIHsKKyAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSk7CisgICAgbm9kZS5jb250ZW50RWRpdGFibGUgPSB0cnVlOworICAgIG5vZGUuaW5u
ZXJIVE1MID0gbWFya3VwOworICAgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVySUQpIHsK
KyAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwKTsK
KyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKKyAgICByb290LmFwcGVu
ZENoaWxkKG5vZGUpOworCisgICAgbm9kZS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJTZWxlY3RBbGwiLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHki
LCBmYWxzZSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIiwgZmFsc2UpOworCisg
ICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CisKKyAgICBpZiAoZXhwZWN0ZWQg
IT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVS
RSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJg
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDEpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIiwgMSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMikuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiLCAyKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgzKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDMpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDQpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCA0KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg1KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgNSk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNikuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+IiwgNik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+IiwgNyk7Citjb25zb2xlLmxvZygiPFdLPjogRklOIik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmY5OTBhZjY4OGY1MzZiMDY2NWU5YmVkZjEwYWY5OTBiMWE4NTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05OC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkLCBjb250YWluZXJJRCkgeworICAgIHZhciBub2RlID0gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXApOworICAgIG5vZGUuaWQgPSBgY29udGFpbmVyJHtjb250
YWluZXJJRH1gOworICAgIHJvb3QuYXBwZW5kQ2hpbGQobm9kZSk7CisKKyAgICBub2RlLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlNlbGVjdEFsbCIsIGZhbHNlKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIsIGZhbHNlKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiUGFzdGUiLCBmYWxzZSk7CisKKyAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVy
SFRNTDsKKworICAgIGlmIChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBFWFA6ICIke2V4cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0g
R09UOiAiJHtjb25maXJtZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xl
LmxvZygiPFdLPjogUEFTUyEiKTsKKyAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIici
ICsgZXhwZWN0ZWQgKyAiJyIpOworfQorCitjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxi
cj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2Pjwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEw
OzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKKworcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUi
OworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1
ZTliZWRmMTBhZjk5MGIxYTg1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sCmluZGV4IDY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IuLjU2Zjk5MGFmNjg4ZjUzNmIwNjY1ZTliZWRmMTBhZjk5MGIxYTg1OWMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLmh0bWwKQEAgLTIwLDggKzIwLDkgQEAgZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CiAgICAgcmV0dXJuIG5vZGU7CiB9CiAKLWZ1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CitmdW5jdGlvbiB0
ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCwgY29udGFpbmVy
SUQpIHsKICAgICB2YXIgbm9kZSA9IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG9yaWdpbmFsTWFy
a3VwKTsKKyAgICBub2RlLmlkID0gYGNvbnRhaW5lciR7Y29udGFpbmVySUR9YDsKICAgICByb290
LmFwcGVuZENoaWxkKG5vZGUpOwogCiAgICAgbm9kZS5mb2N1cygpOwpAQCAtMzEsMTYgKzMyLDM3
IEBAIGZ1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CiAKICAgICBjb25maXJtZWRNYXJrdXAgPSBub2RlLmlubmVySFRNTDsKIAorICAgIGlm
IChleHBlY3RlZCAhPT0gY29uZmlybWVkTWFya3VwKSB7CisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBGQUlMVVJFISIpOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBFWFA6ICIke2V4
cGVjdGVkfSJgKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gR09UOiAiJHtjb25maXJt
ZWRNYXJrdXB9ImApOworICAgIH0gZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogUEFT
UyEiKTsKICAgICBzaG91bGRCZSgiY29uZmlybWVkTWFya3VwIiwgIiciICsgZXhwZWN0ZWQgKyAi
JyIpOwogfQogCi10ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iKTsKLXRlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIpOwotdGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iik7Ci10ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwotdGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iKTsKLXRlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iKTsKLXRlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5MaW5lIE9uZTwv
cD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOwogCiByb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406248</attachid>
            <date>2020-08-07 22:55:34 -0700</date>
            <delta_ts>2020-08-08 11:40:48 -0700</delta_ts>
            <desc>Repro v6</desc>
            <filename>bug-215218-20200807225526.patch</filename>
            <type>text/plain</type>
            <size>4410817</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE3NzYxNGM3MTg5YzFl
YWI1NTFkOWRmODg3MWIwYWEyMWZkZjY5Ny4uZGVmNTQyNjhjYTM2MDljZGFlNWVjZThhYWM2ZDA5
OGJhY2RmOTgxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA4LTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFsgaU9TIHdrMiBd
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbCBpcyBhIGZsYWt5
IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNTIxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ29u
c29sZUNsaWVudDo6bWVzc2FnZVdpdGhUeXBlQW5kTGV2ZWwpOgorICAgICAgICAqIHBsYXRmb3Jt
L2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bVBhc3RlYm9hcmQ6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgpOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjp3cml0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bVBhc3RlYm9hcmQ6OnJlYWRCdWZmZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1QYXN0ZWJvYXJkOjpyZWFkU3RyaW5nIGNvbnN0KToKKwogMjAyMC0wOC0wNyAgSmFtZXMgRGFy
cGluaWFuICA8amRhcnBpbmlhbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1dlYkdMMl0gTWlz
c2luZyB2YWxpZGF0aW9uIGZvciBzYW1wbGVyIHVuaXQgaW5kZXgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOTUzY2Q4
OTU3M2ExOGFmZjY5MTdjODAxOWU1YTI1N2MzMTBmNGQ3MC4uYzUyNjNlYTg4YTA5YTk3ZmQ5NzBi
ZDBhNGNmYWM1NTlmNDI0OWNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wOC0w
NyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbIGlP
UyB3azIgXSBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgaXMg
YSBmbGFreSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTUyMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcDoKKyAgICAgICAgKElQQzo6aXNX
ZWJQYXN0ZWJvYXJkUHJveHlNZXNzYWdlKToKKyAgICAgICAgKElQQzo6dG9TdHJpbmcpOgorICAg
ICAgICAoSVBDOjpDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlOjpkaXNwYXRjaE1lc3NhZ2Vz
KToKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6c2VuZE1lc3NhZ2UpOgorICAgICAgICAoSVBD
OjpDb25uZWN0aW9uOjpzZW5kU3luY01lc3NhZ2UpOgorCiAyMDIwLTA4LTA3ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgYmFzZUxhdGVuY3kgYXR0cmlidXRlIGlz
IG1pc3Npbmcgb24gQXVkaW9Db250ZXh0IGludGVyZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25zb2xlQ2xpZW50LmNwcAppbmRleCAyNmU2MjVmNzYwZWNhMmU3OGMyMWMzOWFmM2E1ODIw
ZTBjZTI2ZTUwLi5lNGUyZDlkMGQ3OTU1ZWQ0YTg3YmViN2JhNjI2OGRlODEyNjk4OTFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcApAQCAtMTc2LDYgKzE3Niwx
MCBAQCB2b2lkIFBhZ2VDb25zb2xlQ2xpZW50OjptZXNzYWdlV2l0aFR5cGVBbmRMZXZlbChNZXNz
YWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAogewogICAgIFN0cmluZyBtZXNzYWdlVGV4dDsK
ICAgICBib29sIGdvdE1lc3NhZ2UgPSBhcmd1bWVudHMtPmdldEZpcnN0QXJndW1lbnRBc1N0cmlu
ZyhtZXNzYWdlVGV4dCk7CisgICAgaWYgKGdvdE1lc3NhZ2UgJiYgbWVzc2FnZVRleHQuY29udGFp
bnMoIjxXSz4iKSkgeworICAgICAgICBXVEZMb2dBbHdheXMoIihDT05TT0xFKSAlcyIsIG1lc3Nh
Z2VUZXh0LnV0ZjgoKS5kYXRhKCkpOworICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgYXV0
byBtZXNzYWdlID0gbWFrZVVuaXF1ZTxJbnNwZWN0b3I6OkNvbnNvbGVNZXNzYWdlPihNZXNzYWdl
U291cmNlOjpDb25zb2xlQVBJLCB0eXBlLCBsZXZlbCwgbWVzc2FnZVRleHQsIGFyZ3VtZW50cy5j
b3B5UmVmKCksIGxleGljYWxHbG9iYWxPYmplY3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQppbmRleCA1MjYxZmI3YTkw
ODdkMjczYTkwNTEwNzJiOWJmMzMxZmY3ZWQyZjVhLi44YzYxM2ZhNDUwNjA3NDVhNzAwMzBmZjQ4
MGEzNmZkNGNlMWQ0YzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
UGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0KQEAgLTE3Miw4ICsxNzIsMTEgQEAgT3B0aW9uYWw8
UGFzdGVib2FyZEl0ZW1JbmZvPiBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmluZm9ybWF0aW9uRm9ySXRl
bUF0SW5kZXgoc2l6ZV8KICAgICBpZiAoaW5kZXggPj0gc3RhdGljX2Nhc3Q8TlNVSW50ZWdlcj4o
W21fcGFzdGVib2FyZCBudW1iZXJPZkl0ZW1zXSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiAKLSAgICBpZiAodGhpcy0+Y2hhbmdlQ291bnQoKSAhPSBjaGFuZ2VDb3VudCkKKyAgICBh
dXRvIGN1cnJlbnRDaGFuZ2VDb3VudCA9IHRoaXMtPmNoYW5nZUNvdW50KCk7CisgICAgaWYgKGN1
cnJlbnRDaGFuZ2VDb3VudCAhPSBjaGFuZ2VDb3VudCkgeworICAgICAgICBXVEZMb2dBbHdheXMo
IjxXSz46IEV4cGVjdGVkIGNoYW5nZSBjb3VudCAlZDsgZ290ICVkIiwgY2hhbmdlQ291bnQsIGN1
cnJlbnRDaGFuZ2VDb3VudCk7CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgfQog
CiAgICAgUGFzdGVib2FyZEl0ZW1JbmZvIGluZm87CiAgICAgTlNJdGVtUHJvdmlkZXIgKml0ZW1Q
cm92aWRlciA9IFtbbV9wYXN0ZWJvYXJkIGl0ZW1Qcm92aWRlcnNdIG9iamVjdEF0SW5kZXg6aW5k
ZXhdOwpAQCAtNDEyLDYgKzQxNSw3IEBAIGJvb2wgUGxhdGZvcm1QYXN0ZWJvYXJkOjphbGxvd1Jl
YWRpbmdVUkxBdEluZGV4KGNvbnN0IFVSTCYgdXJsLCBpbnQgaW5kZXgpIGNvbnN0CiAKIHZvaWQg
UGxhdGZvcm1QYXN0ZWJvYXJkOjp3cml0ZShjb25zdCBQYXN0ZWJvYXJkV2ViQ29udGVudCYgY29u
dGVudCkKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFdyaXRpbmcgd2ViIGNvbnRlbnQgdG8g
cGxhdGZvcm0gcGFzdGVib2FyZCEgKHdlYiBhcmNoaXZlIGRhdGE6ICV0dSBieXRlcykiLCBjb250
ZW50LmRhdGFJbldlYkFyY2hpdmVGb3JtYXQgPyBjb250ZW50LmRhdGFJbldlYkFyY2hpdmVGb3Jt
YXQtPnNpemUoKSA6IDApOwogICAgIGF1dG8gcmVwcmVzZW50YXRpb25zVG9SZWdpc3RlciA9IGFk
b3B0TlMoW1tXZWJJdGVtUHJvdmlkZXJSZWdpc3RyYXRpb25JbmZvTGlzdCBhbGxvY10gaW5pdF0p
OwogCiAjaWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQpAQCAtNjk4LDYgKzcwMiw3IEBAIFJlZlB0
cjxTaGFyZWRCdWZmZXI+IFBsYXRmb3JtUGFzdGVib2FyZDo6cmVhZEJ1ZmZlcihzaXplX3QgaW5k
ZXgsIGNvbnN0IFN0cmluZyYKICAgICBpZiAoKE5TSW50ZWdlcilpbmRleCA8IDAgfHwgKE5TSW50
ZWdlcilpbmRleCA+PSBbbV9wYXN0ZWJvYXJkIG51bWJlck9mSXRlbXNdKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAorICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogUmVhZGluZyBidWZmZXIgZm9y
IHR5cGUgXCIlc1wiIiwgdHlwZS51dGY4KCkuZGF0YSgpKTsKICAgICBOU0luZGV4U2V0ICppbmRl
eFNldCA9IFtOU0luZGV4U2V0IGluZGV4U2V0V2l0aEluZGV4OmluZGV4XTsKIAogICAgIFJldGFp
blB0cjxOU0FycmF5PiBwYXN0ZWJvYXJkSXRlbSA9IFttX3Bhc3RlYm9hcmQgZGF0YUZvclBhc3Rl
Ym9hcmRUeXBlOnR5cGUgaW5JdGVtU2V0OmluZGV4U2V0XTsKQEAgLTcyMiw2ICs3MjcsNyBAQCBT
dHJpbmcgUGxhdGZvcm1QYXN0ZWJvYXJkOjpyZWFkU3RyaW5nKHNpemVfdCBpbmRleCwgY29uc3Qg
U3RyaW5nJiB0eXBlKSBjb25zdAogICAgIGlmICghdmFsdWUpCiAgICAgICAgIHJldHVybiB7IH07
CiAKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IFJlYWRpbmcgc3RyaW5nIGZvciB0eXBlIFwiJXNc
IiIsIHR5cGUudXRmOCgpLmRhdGEoKSk7CiAgICAgaWYgKFt2YWx1ZSBpc0tpbmRPZkNsYXNzOltO
U0RhdGEgY2xhc3NdXSkKICAgICAgICAgdmFsdWUgPSBhZG9wdE5TKFtbTlNTdHJpbmcgYWxsb2Nd
IGluaXRXaXRoRGF0YTooTlNEYXRhICopdmFsdWUuZ2V0KCkgZW5jb2Rpbmc6TlNVVEY4U3RyaW5n
RW5jb2RpbmddKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5j
cHAKaW5kZXggNDkyMDk2MjIxODVmM2IzYjRhNzI1NmU1NDJlYjZkNmRjNmY3YzQ3Yy4uYjI4NzE2
NjZhYTRiZDgzZjRiYjVhNzNkY2QzNTQ0ZWJkNGYzZDQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHAKQEAgLTEzMCw2ICsxMzAsMTM2IEBAIENvbm5lY3Rpb246
OlN5bmNNZXNzYWdlU3RhdGUmIENvbm5lY3Rpb246OlN5bmNNZXNzYWdlU3RhdGU6OnNpbmdsZXRv
bigpCiAgICAgcmV0dXJuIHN5bmNNZXNzYWdlU3RhdGU7CiB9CiAKK3N0YXRpYyBib29sIGlzV2Vi
UGFzdGVib2FyZFByb3h5TWVzc2FnZShNZXNzYWdlTmFtZSBuYW1lKQoreworICAgIHN3aXRjaCAo
bmFtZSkgeworICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9BZGRQYXN0
ZWJvYXJkVHlwZXM6CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0Fs
bFBhc3RlYm9hcmRJdGVtSW5mbzoKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJk
UHJveHlfQ2xlYXJDbGlwYm9hcmQ6CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2Fy
ZFByb3h5X0NvbnRhaW5zU3RyaW5nU2FmZUZvckRPTVRvUmVhZEZvclR5cGU6CisgICAgY2FzZSBN
ZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0NvbnRhaW5zVVJMU3RyaW5nU3VpdGFibGVG
b3JMb2FkaW5nOgorICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9HZXRO
dW1iZXJPZkZpbGVzOgorICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9H
ZXRQYXN0ZWJvYXJkQnVmZmVyRm9yVHlwZToKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0
ZWJvYXJkUHJveHlfR2V0UGFzdGVib2FyZENoYW5nZUNvdW50OgorICAgIGNhc2UgTWVzc2FnZU5h
bWU6OldlYlBhc3RlYm9hcmRQcm94eV9HZXRQYXN0ZWJvYXJkQ29sb3I6CisgICAgY2FzZSBNZXNz
YWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0dldFBhc3RlYm9hcmRJdGVtc0NvdW50OgorICAg
IGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9HZXRQYXN0ZWJvYXJkUGF0aG5h
bWVzRm9yVHlwZToKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfR2V0
UGFzdGVib2FyZFN0cmluZ0ZvclR5cGU6CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVi
b2FyZFByb3h5X0dldFBhc3RlYm9hcmRTdHJpbmdzRm9yVHlwZToKKyAgICBjYXNlIE1lc3NhZ2VO
YW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfR2V0UGFzdGVib2FyZFR5cGVzOgorICAgIGNhc2UgTWVz
c2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9HZXRQYXN0ZWJvYXJkVVJMOgorICAgIGNhc2Ug
TWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9HZXRUeXBlczoKKyAgICBjYXNlIE1lc3Nh
Z2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfSW5mb3JtYXRpb25Gb3JJdGVtQXRJbmRleDoKKyAg
ICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfUmVhZEJ1ZmZlcjoKKyAgICBj
YXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfUmVhZEJ1ZmZlckZyb21QYXN0ZWJv
YXJkOgorICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9SZWFkRmlsZVBh
dGhzOgorICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9SZWFkU3RyaW5n
RnJvbVBhc3RlYm9hcmQ6CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5
X1JlYWRUZXh0OgorICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9SZWFk
VVJMRnJvbVBhc3RlYm9hcmQ6CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFBy
b3h5X1NldFBhc3RlYm9hcmRCdWZmZXJGb3JUeXBlOgorICAgIGNhc2UgTWVzc2FnZU5hbWU6Oldl
YlBhc3RlYm9hcmRQcm94eV9TZXRQYXN0ZWJvYXJkQ29sb3I6CisgICAgY2FzZSBNZXNzYWdlTmFt
ZTo6V2ViUGFzdGVib2FyZFByb3h5X1NldFBhc3RlYm9hcmRTdHJpbmdGb3JUeXBlOgorICAgIGNh
c2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9TZXRQYXN0ZWJvYXJkVHlwZXM6Cisg
ICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X1NldFBhc3RlYm9hcmRVUkw6
CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X1R5cGVzU2FmZUZvckRP
TVRvUmVhZEFuZFdyaXRlOgorICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94
eV9VUkxTdHJpbmdTdWl0YWJsZUZvckxvYWRpbmc6CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2Vi
UGFzdGVib2FyZFByb3h5X1VwZGF0ZVN1cHBvcnRlZFR5cGVJZGVudGlmaWVyczoKKyAgICBjYXNl
IE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfV3JpdGVDdXN0b21EYXRhOgorICAgIGNh
c2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9Xcml0ZUltYWdlVG9QYXN0ZWJvYXJk
OgorICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9Xcml0ZVN0cmluZ1Rv
UGFzdGVib2FyZDoKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfV3Jp
dGVUb0NsaXBib2FyZDoKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlf
V3JpdGVVUkxUb1Bhc3RlYm9hcmQ6CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2Fy
ZFByb3h5X1dyaXRlV2ViQ29udGVudFRvUGFzdGVib2FyZDoKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsK
K30KKworc3RhdGljIFN0cmluZyB0b1N0cmluZyhNZXNzYWdlTmFtZSBuYW1lKQoreworICAgIHN3
aXRjaCAobmFtZSkgeworICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9B
ZGRQYXN0ZWJvYXJkVHlwZXM6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFByb3h5OjpB
ZGRQYXN0ZWJvYXJkVHlwZXMiOworICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQ
cm94eV9BbGxQYXN0ZWJvYXJkSXRlbUluZm86CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2Fy
ZFByb3h5OjpBbGxQYXN0ZWJvYXJkSXRlbUluZm8iOworICAgIGNhc2UgTWVzc2FnZU5hbWU6Oldl
YlBhc3RlYm9hcmRQcm94eV9DbGVhckNsaXBib2FyZDoKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0
ZWJvYXJkUHJveHk6OkNsZWFyQ2xpcGJvYXJkIjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQ
YXN0ZWJvYXJkUHJveHlfQ29udGFpbnNTdHJpbmdTYWZlRm9yRE9NVG9SZWFkRm9yVHlwZToKKyAg
ICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OkNvbnRhaW5zU3RyaW5nU2FmZUZvckRP
TVRvUmVhZEZvclR5cGUiOworICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94
eV9Db250YWluc1VSTFN0cmluZ1N1aXRhYmxlRm9yTG9hZGluZzoKKyAgICAgICAgcmV0dXJuICJX
ZWJQYXN0ZWJvYXJkUHJveHk6OkNvbnRhaW5zVVJMU3RyaW5nU3VpdGFibGVGb3JMb2FkaW5nIjsK
KyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfR2V0TnVtYmVyT2ZGaWxl
czoKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OkdldE51bWJlck9mRmlsZXMi
OworICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9HZXRQYXN0ZWJvYXJk
QnVmZmVyRm9yVHlwZToKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OkdldFBh
c3RlYm9hcmRCdWZmZXJGb3JUeXBlIjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJv
YXJkUHJveHlfR2V0UGFzdGVib2FyZENoYW5nZUNvdW50OgorICAgICAgICByZXR1cm4gIldlYlBh
c3RlYm9hcmRQcm94eTo6R2V0UGFzdGVib2FyZENoYW5nZUNvdW50IjsKKyAgICBjYXNlIE1lc3Nh
Z2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfR2V0UGFzdGVib2FyZENvbG9yOgorICAgICAgICBy
ZXR1cm4gIldlYlBhc3RlYm9hcmRQcm94eTo6R2V0UGFzdGVib2FyZENvbG9yIjsKKyAgICBjYXNl
IE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfR2V0UGFzdGVib2FyZEl0ZW1zQ291bnQ6
CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFByb3h5OjpHZXRQYXN0ZWJvYXJkSXRlbXND
b3VudCI7CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0dldFBhc3Rl
Ym9hcmRQYXRobmFtZXNGb3JUeXBlOgorICAgICAgICByZXR1cm4gIldlYlBhc3RlYm9hcmRQcm94
eTo6R2V0UGFzdGVib2FyZFBhdGhuYW1lc0ZvclR5cGUiOworICAgIGNhc2UgTWVzc2FnZU5hbWU6
OldlYlBhc3RlYm9hcmRQcm94eV9HZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlwZToKKyAgICAgICAg
cmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OkdldFBhc3RlYm9hcmRTdHJpbmdGb3JUeXBlIjsK
KyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfR2V0UGFzdGVib2FyZFN0
cmluZ3NGb3JUeXBlOgorICAgICAgICByZXR1cm4gIldlYlBhc3RlYm9hcmRQcm94eTo6R2V0UGFz
dGVib2FyZFN0cmluZ3NGb3JUeXBlIjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJv
YXJkUHJveHlfR2V0UGFzdGVib2FyZFR5cGVzOgorICAgICAgICByZXR1cm4gIldlYlBhc3RlYm9h
cmRQcm94eTo6R2V0UGFzdGVib2FyZFR5cGVzIjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQ
YXN0ZWJvYXJkUHJveHlfR2V0UGFzdGVib2FyZFVSTDoKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0
ZWJvYXJkUHJveHk6OkdldFBhc3RlYm9hcmRVUkwiOworICAgIGNhc2UgTWVzc2FnZU5hbWU6Oldl
YlBhc3RlYm9hcmRQcm94eV9HZXRUeXBlczoKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJk
UHJveHk6OkdldFR5cGVzIjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJv
eHlfSW5mb3JtYXRpb25Gb3JJdGVtQXRJbmRleDoKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJv
YXJkUHJveHk6OkluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgiOworICAgIGNhc2UgTWVzc2FnZU5h
bWU6OldlYlBhc3RlYm9hcmRQcm94eV9SZWFkQnVmZmVyOgorICAgICAgICByZXR1cm4gIldlYlBh
c3RlYm9hcmRQcm94eTo6UmVhZEJ1ZmZlciI7CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFz
dGVib2FyZFByb3h5X1JlYWRCdWZmZXJGcm9tUGFzdGVib2FyZDoKKyAgICAgICAgcmV0dXJuICJX
ZWJQYXN0ZWJvYXJkUHJveHk6OlJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZCI7CisgICAgY2FzZSBN
ZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X1JlYWRGaWxlUGF0aHM6CisgICAgICAgIHJl
dHVybiAiV2ViUGFzdGVib2FyZFByb3h5OjpSZWFkRmlsZVBhdGhzIjsKKyAgICBjYXNlIE1lc3Nh
Z2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfUmVhZFN0cmluZ0Zyb21QYXN0ZWJvYXJkOgorICAg
ICAgICByZXR1cm4gIldlYlBhc3RlYm9hcmRQcm94eTo6UmVhZFN0cmluZ0Zyb21QYXN0ZWJvYXJk
IjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfUmVhZFRleHQ6Cisg
ICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFByb3h5OjpSZWFkVGV4dCI7CisgICAgY2FzZSBN
ZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X1JlYWRVUkxGcm9tUGFzdGVib2FyZDoKKyAg
ICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OlJlYWRVUkxGcm9tUGFzdGVib2FyZCI7
CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X1NldFBhc3RlYm9hcmRC
dWZmZXJGb3JUeXBlOgorICAgICAgICByZXR1cm4gIldlYlBhc3RlYm9hcmRQcm94eTo6U2V0UGFz
dGVib2FyZEJ1ZmZlckZvclR5cGUiOworICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9h
cmRQcm94eV9TZXRQYXN0ZWJvYXJkQ29sb3I6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2Fy
ZFByb3h5OjpTZXRQYXN0ZWJvYXJkQ29sb3IiOworICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBh
c3RlYm9hcmRQcm94eV9TZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlwZToKKyAgICAgICAgcmV0dXJu
ICJXZWJQYXN0ZWJvYXJkUHJveHk6OlNldFBhc3RlYm9hcmRTdHJpbmdGb3JUeXBlIjsKKyAgICBj
YXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfU2V0UGFzdGVib2FyZFR5cGVzOgor
ICAgICAgICByZXR1cm4gIldlYlBhc3RlYm9hcmRQcm94eTo6U2V0UGFzdGVib2FyZFR5cGVzIjsK
KyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfU2V0UGFzdGVib2FyZFVS
TDoKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OlNldFBhc3RlYm9hcmRVUkwi
OworICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9UeXBlc1NhZmVGb3JE
T01Ub1JlYWRBbmRXcml0ZToKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OlR5
cGVzU2FmZUZvckRPTVRvUmVhZEFuZFdyaXRlIjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQ
YXN0ZWJvYXJkUHJveHlfVVJMU3RyaW5nU3VpdGFibGVGb3JMb2FkaW5nOgorICAgICAgICByZXR1
cm4gIldlYlBhc3RlYm9hcmRQcm94eTo6VVJMU3RyaW5nU3VpdGFibGVGb3JMb2FkaW5nIjsKKyAg
ICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfVXBkYXRlU3VwcG9ydGVkVHlw
ZUlkZW50aWZpZXJzOgorICAgICAgICByZXR1cm4gIldlYlBhc3RlYm9hcmRQcm94eTo6VXBkYXRl
U3VwcG9ydGVkVHlwZUlkZW50aWZpZXJzIjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0
ZWJvYXJkUHJveHlfV3JpdGVDdXN0b21EYXRhOgorICAgICAgICByZXR1cm4gIldlYlBhc3RlYm9h
cmRQcm94eTo6V3JpdGVDdXN0b21EYXRhIjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0
ZWJvYXJkUHJveHlfV3JpdGVJbWFnZVRvUGFzdGVib2FyZDoKKyAgICAgICAgcmV0dXJuICJXZWJQ
YXN0ZWJvYXJkUHJveHk6OldyaXRlSW1hZ2VUb1Bhc3RlYm9hcmQiOworICAgIGNhc2UgTWVzc2Fn
ZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9Xcml0ZVN0cmluZ1RvUGFzdGVib2FyZDoKKyAgICAg
ICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OldyaXRlU3RyaW5nVG9QYXN0ZWJvYXJkIjsK
KyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfV3JpdGVUb0NsaXBib2Fy
ZDoKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OldyaXRlVG9DbGlwYm9hcmQi
OworICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9Xcml0ZVVSTFRvUGFz
dGVib2FyZDoKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OldyaXRlVVJMVG9Q
YXN0ZWJvYXJkIjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfV3Jp
dGVXZWJDb250ZW50VG9QYXN0ZWJvYXJkOgorICAgICAgICByZXR1cm4gIldlYlBhc3RlYm9hcmRQ
cm94eTo6V3JpdGVXZWJDb250ZW50VG9QYXN0ZWJvYXJkIjsKKyAgICBkZWZhdWx0OgorICAgICAg
ICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIFN0cmluZzo6bnVtYmVyKHN0YXRpY19jYXN0PGlu
dD4obmFtZSkpOworfQorCiBib29sIENvbm5lY3Rpb246OlN5bmNNZXNzYWdlU3RhdGU6OnByb2Nl
c3NJbmNvbWluZ01lc3NhZ2UoQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwgc3RkOjp1bmlxdWVfcHRy
PERlY29kZXI+JiBtZXNzYWdlKQogewogICAgIHN3aXRjaCAobWVzc2FnZS0+c2hvdWxkRGlzcGF0
Y2hNZXNzYWdlV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkoKSkgewpAQCAtMTcxLDggKzMwMSwxMCBA
QCB2b2lkIENvbm5lY3Rpb246OlN5bmNNZXNzYWdlU3RhdGU6OmRpc3BhdGNoTWVzc2FnZXMoKQog
ICAgICAgICBtX21lc3NhZ2VzVG9EaXNwYXRjaFdoaWxlV2FpdGluZ0ZvclN5bmNSZXBseS5zd2Fw
KG1lc3NhZ2VzVG9EaXNwYXRjaFdoaWxlV2FpdGluZ0ZvclN5bmNSZXBseSk7CiAgICAgfQogCi0g
ICAgZm9yIChhdXRvJiBjb25uZWN0aW9uQW5kSW5jb21pbmdNZXNzYWdlIDogbWVzc2FnZXNUb0Rp
c3BhdGNoV2hpbGVXYWl0aW5nRm9yU3luY1JlcGx5KQorICAgIGZvciAoYXV0byYgY29ubmVjdGlv
bkFuZEluY29taW5nTWVzc2FnZSA6IG1lc3NhZ2VzVG9EaXNwYXRjaFdoaWxlV2FpdGluZ0ZvclN5
bmNSZXBseSkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IERpc3BhdGNoaW5nICVzIHdo
aWxlIHdhaXRpbmcgZm9yIHN5bmMgcmVwbHkuIiwgdG9TdHJpbmcoY29ubmVjdGlvbkFuZEluY29t
aW5nTWVzc2FnZS5tZXNzYWdlLT5tZXNzYWdlTmFtZSgpKS51dGY4KCkuZGF0YSgpKTsKICAgICAg
ICAgY29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZS5kaXNwYXRjaCgpOworICAgIH0KIH0KIAog
dm9pZCBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlOjpkaXNwYXRjaE1lc3NhZ2VzQW5kUmVz
ZXREaWRTY2hlZHVsZURpc3BhdGNoTWVzc2FnZXNGb3JDb25uZWN0aW9uKENvbm5lY3Rpb24mIGNv
bm5lY3Rpb24pCkBAIC00NDksNiArNTgxLDkgQEAgYm9vbCBDb25uZWN0aW9uOjpzZW5kTWVzc2Fn
ZShzdGQ6OnVuaXF1ZV9wdHI8RW5jb2Rlcj4gZW5jb2RlciwgT3B0aW9uU2V0PFNlbmRPcHQKICAg
ICBpZiAoIWlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKGlzV2Vi
UGFzdGVib2FyZFByb3h5TWVzc2FnZShlbmNvZGVyLT5tZXNzYWdlTmFtZSgpKSkKKyAgICAgICAg
V1RGTG9nQWx3YXlzKCI8V0s+OiBTZW5kaW5nICVzLiIsIHRvU3RyaW5nKGVuY29kZXItPm1lc3Nh
Z2VOYW1lKCkpLnV0ZjgoKS5kYXRhKCkpOworCiAgICAgaWYgKGlzTWFpblRocmVhZCgpICYmIG1f
aW5EaXNwYXRjaE1lc3NhZ2VNYXJrZWRUb1VzZUZ1bGx5U3luY2hyb25vdXNNb2RlRm9yVGVzdGlu
ZyAmJiAhZW5jb2Rlci0+aXNTeW5jTWVzc2FnZSgpICYmICEoZW5jb2Rlci0+bWVzc2FnZVJlY2Vp
dmVyTmFtZSgpID09IFJlY2VpdmVyTmFtZTo6SVBDKSAmJiAhc2VuZE9wdGlvbnMuY29udGFpbnMo
U2VuZE9wdGlvbjo6SWdub3JlRnVsbHlTeW5jaHJvbm91c01vZGUpKSB7CiAgICAgICAgIHVpbnQ2
NF90IHN5bmNSZXF1ZXN0SUQ7CiAgICAgICAgIGF1dG8gd3JhcHBlZE1lc3NhZ2UgPSBjcmVhdGVT
eW5jTWVzc2FnZUVuY29kZXIoTWVzc2FnZU5hbWU6OldyYXBwZWRBc3luY01lc3NhZ2VGb3JUZXN0
aW5nLCBlbmNvZGVyLT5kZXN0aW5hdGlvbklEKCksIHN5bmNSZXF1ZXN0SUQpOwpAQCAtNTg5LDYg
KzcyNCw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiBDb25uZWN0aW9uOjpzZW5kU3luY01l
c3NhZ2UodWludDY0X3Qgc3luY1JlcXVlc3RJRCwgc3RkCiAgICAgICAgIG1fcGVuZGluZ1N5bmNS
ZXBsaWVzLmFwcGVuZChQZW5kaW5nU3luY1JlcGx5KHN5bmNSZXF1ZXN0SUQpKTsKICAgICB9CiAK
KyAgICBhdXRvIG1lc3NhZ2VOYW1lID0gZW5jb2Rlci0+bWVzc2FnZU5hbWUoKTsKKyAgICBXVEZM
b2dBbHdheXMoIjxXSz46ID4+PiBTZW5kaW5nIHN5bmMgbWVzc2FnZTogJXMiLCB0b1N0cmluZyht
ZXNzYWdlTmFtZSkudXRmOCgpLmRhdGEoKSk7CiAgICAgKyttX2luU2VuZFN5bmNDb3VudDsKIAog
ICAgIC8vIEZpcnN0IHNlbmQgdGhlIG1lc3NhZ2UuCkBAIC01OTYsNyArNzMzLDYgQEAgc3RkOjp1
bmlxdWVfcHRyPERlY29kZXI+IENvbm5lY3Rpb246OnNlbmRTeW5jTWVzc2FnZSh1aW50NjRfdCBz
eW5jUmVxdWVzdElELCBzdGQKICAgICBpZiAoc2VuZFN5bmNPcHRpb25zLmNvbnRhaW5zKFNlbmRT
eW5jT3B0aW9uOjpGb3JjZURpc3BhdGNoV2hlbkRlc3RpbmF0aW9uSXNXYWl0aW5nRm9yVW5ib3Vu
ZGVkU3luY1JlcGx5KSkKICAgICAgICAgc2VuZE9wdGlvbnMgPSBzZW5kT3B0aW9ucyB8IElQQzo6
U2VuZE9wdGlvbjo6RGlzcGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yVW5ib3VuZGVkU3lu
Y1JlcGx5OwogCi0gICAgYXV0byBtZXNzYWdlTmFtZSA9IGVuY29kZXItPm1lc3NhZ2VOYW1lKCk7
CiAgICAgc2VuZE1lc3NhZ2UoV1RGTW92ZShlbmNvZGVyKSwgc2VuZE9wdGlvbnMpOwogCiAgICAg
Ly8gVGhlbiB3YWl0IGZvciBhIHJlcGx5LiBXYWl0aW5nIGZvciBhIHJlcGx5IGNvdWxkIGludm9s
dmUgZGlzcGF0Y2hpbmcgaW5jb21pbmcgc3luYyBtZXNzYWdlcywgc28KQEAgLTYwNSw2ICs3NDEs
NyBAQCBzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4gQ29ubmVjdGlvbjo6c2VuZFN5bmNNZXNzYWdl
KHVpbnQ2NF90IHN5bmNSZXF1ZXN0SUQsIHN0ZAogICAgIHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVy
PiByZXBseSA9IHdhaXRGb3JTeW5jUmVwbHkoc3luY1JlcXVlc3RJRCwgbWVzc2FnZU5hbWUsIHRp
bWVvdXQsIHNlbmRTeW5jT3B0aW9ucyk7CiAKICAgICAtLW1faW5TZW5kU3luY0NvdW50OworICAg
IFdURkxvZ0Fsd2F5cygiPFdLPjogPDw8IC4uLmRvbmUgd2l0aCAlcyIsIHRvU3RyaW5nKG1lc3Nh
Z2VOYW1lKS51dGY4KCkuZGF0YSgpKTsKIAogICAgIC8vIEZpbmFsbHksIHBvcCB0aGUgcGVuZGlu
ZyBzeW5jIHJlcGx5IGluZm9ybWF0aW9uLgogICAgIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4MzIxZjFmZjBhYjk2
OWEyYWVlM2UzY2ZhMTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJh
ZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwMC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMDAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMDAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwMDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4MzIxZjFm
ZjBhYjk2OWEyYWVlM2UzY2ZhMTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDAwLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTA1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTA2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTA3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTEwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTExLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTExLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFi
OTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTI4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5
YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQwLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTUxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTIuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTUuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTcu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTU3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJh
ZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTYyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYyLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTY5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgx
MjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTc2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTc3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUz
ZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
ODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xODItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcw
MmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkw
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTkyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTkzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTk0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xOTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTk4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2ZhMTM4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA4Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjA5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFm
MWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjEzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjE1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjE5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZm
MGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjM0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjM2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjM4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQ3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFi
OTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjU0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjYwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjYxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5
YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjc4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjgwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjgxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODIuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjgyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
ODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjg0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg1LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODUuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjg2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODcu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
ODguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJh
ZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yOTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjk5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTI3MDJh
NDRlMmQ4MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2ZhMTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUy
ZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAy
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzAzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzA1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzA1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzA1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA4Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzA4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzA5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzA5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzExLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzE4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgz
MjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzI4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFm
MWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQ4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzUxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzUyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzU3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZm
MGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzYyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzY4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzY4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzY5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzc0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFi
OTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzkwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzkyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzkzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zOTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzk0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zOTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
OTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk4LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zOTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4MzIxZjFmZjBhYjk2OWEyYWVl
M2UzY2ZhMTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNj
ZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA3Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0
NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDExLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEx
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDEzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDE1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTYuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE2Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDE5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmEx
MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUy
ZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMy
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDM0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDM2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQ3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgz
MjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUyLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDU0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDU0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ni5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYxLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDYxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDYyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFm
MWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcwLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDcyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDc2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDc3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Nzgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDc4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
ODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDgxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00ODItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDgyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00ODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
ODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00ODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00ODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00ODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZm
MGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00OTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDk4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MTI3MDJhNDRlMmQ4MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2ZhMTM4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgx
MjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUw
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTAyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTAzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTA1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTA1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01MDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTA2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01MDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTA3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01MDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTA5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUz
ZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTExLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTExLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01MTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01MTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEzLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01MTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE1Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTE4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE5
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcw
MmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIw
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTIzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01MjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTI3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01MjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTI4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01MjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Mjku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNj
ZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01MzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01MzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01MzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01MzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMzLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01MzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM1Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01MzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM2Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM3Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTM4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM4Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0
NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQwLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQx
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTQyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTQzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTQ0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDYuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ2Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01NDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01NDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ4
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTQ4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTQ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmEx
MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01NTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01NTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01NTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01NTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01NTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU1Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01NTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTU3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU3Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01NTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01NTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU5Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUy
ZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01NjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYwLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYxLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTYyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYy
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY4Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTY4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01NjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTY5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01NzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01NzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTczLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01NzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01NzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01NzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01NzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc1Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01NzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc3Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01NzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgz
MjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTgwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01ODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgwLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgxLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgxLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgyLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTg0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTg1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTg2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
ODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01ODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01OTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTkwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkxLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01OTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTkyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01OTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01OTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
OTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01OTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01OTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01OTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk3Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk4Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01OTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk5Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4MzIxZjFmZjBh
Yjk2OWEyYWVlM2UzY2ZhMTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5
YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAwLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02MDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAxLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAyLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAzLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02MDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjA1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA1Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA2Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjA4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjA5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjA5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTYxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjEwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjExLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjExLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTIuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02MTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE1LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTUuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjE1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02MTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTcu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
MTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJh
ZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02MjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02MjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02MjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIyLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02MjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIzLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI0Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02MjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI1Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI2Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI4
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgx
MjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjMxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
MzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjM1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjM2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02MzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
MzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUz
ZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02NDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02NDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02NDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02NDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQzLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02NDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02NDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ1Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02NDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ5
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcw
MmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUw
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjUxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjUyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjU0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
NTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02NTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjU2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02NTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02NTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNj
ZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02NjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02NjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
NjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjYyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02NjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02NjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYzLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02NjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY1Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02NjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY2Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02NjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY3Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjY4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY4Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0
NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcwLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcx
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjcyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjczLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjc0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzYuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc2Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjc2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02NzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjc3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02NzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc4
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjc4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Njc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmEx
MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTY4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02ODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02ODItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
ODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02ODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02ODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02ODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg1Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02ODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Njg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg3Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02ODguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02ODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg5Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUy
ZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02OTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkwLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkxLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjky
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjky
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjkzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjk0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
OTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk4Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjk4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02OTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjk5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2ZhMTM4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
MDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzAyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03MDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzAzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03MDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA1LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03MDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
MDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03MDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03MDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzA5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFi
OTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEwLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEwLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzExLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzExLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03MTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEyLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzEzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEzLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE2
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzE4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzE5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIxLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
MjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03MjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzIzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03MjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03MjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI4LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03MjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03MjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03MjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI5Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5
YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03MzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03MzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMwLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03MzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMxLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMyLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03MzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMzLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzM0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM1Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM2Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzM4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTc0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQxLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDIuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzQzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzQ0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ1LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03NDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDUuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03NDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDcu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzQ3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03NDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
NDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzQ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJh
ZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03NTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03NTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUyLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03NTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUzLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzU0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU0Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03NTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU1Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03NTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU2Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU4
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ni5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgx
MjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzYwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzYxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzYyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
NjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03NjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03NjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Njgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03NjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
NjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUz
ZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03NzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03NzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03NzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzczLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzczLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzczLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03NzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Nzc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03NzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc1Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03NzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc5
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcw
MmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzgwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgw
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzgxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzgyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzg0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
ODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzg1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03ODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzg2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03ODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Nzg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03ODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNj
ZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03OTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03OTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
OTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03OTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03OTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkzLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03OTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk1Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Nzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03OTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk2Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03OTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk3Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk4Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4
MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2ZhMTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFm
MWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAwLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04MDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAxLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAyLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAzLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA0
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODA1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODA1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODA1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODA2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODA3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODA4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODA5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
MDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODA5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTgxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEwLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODEwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04MTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODExLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODExLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04MTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04MTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE1LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04MTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
MTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE3Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04MTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE4Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE5Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZm
MGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04MjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIwLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04MjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIzLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI0Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODI3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODI4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
MzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODMxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04MzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04MzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM1LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04MzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
MzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04MzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04MzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04MzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFi
OTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQwLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQwLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04NDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQxLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODQyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04NDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQyLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQzLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04NDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ2
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODQ4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTg1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUxLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODUxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
NTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODUyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04NTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODU0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04NTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04NTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODU3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU4LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04NTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04NTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04NTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04NTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU5Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5
YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04NjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04NjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYwLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04NjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYxLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODYyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYyLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04NjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYzLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04NjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY1Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY2Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODY4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODY4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODY5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcxLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzIuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODczLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04NzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODc0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc1LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04NzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzUuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODc2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04NzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Nzcu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04NzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
NzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJh
ZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04ODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04ODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04ODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgyLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04ODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgzLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg0Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04ODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg1Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04ODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg2Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg4
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgx
MjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODkwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODkyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODkzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
OTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODk0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04OTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04OTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04OTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
OTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2Zh
MTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTkwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05MDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05MDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05MDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
MDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05MDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05MDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA1Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05MDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05MDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA3Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05MDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgz
MjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEwLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTExLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTExLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEyLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTEzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTE1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
MTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTE5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTkyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05MjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIxLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05MjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05MjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05MjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05MjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05MjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05MjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI3Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05MjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI4Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05MjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI5Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFm
MWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05MzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMwLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05MzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMxLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMyLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMzLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTM0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM0
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTM1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTM2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mzgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
MzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTk0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQwLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05NDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTQzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05NDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ1LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05NDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
NDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05NDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTQ3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05NDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ4Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTQ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ5Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZm
MGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05NTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUwLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05NTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05NTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUzLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTU0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU0Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTU2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ni5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTYwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
NjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTYxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05NjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY1LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05NjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
NjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05NjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05NjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05NjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFi
OTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcwLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcwLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05NzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcxLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTcyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05NzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcyLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTczLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTczLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05NzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc2
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTc3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTc4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTk4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTgwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgxLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTgxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
ODItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTgyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05ODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTg0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05ODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTg1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05ODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg4LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05ODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05ODguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05ODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05ODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg5Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5
YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05OTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05OTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkwLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05OTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkxLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTky
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkyLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05OTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkzLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05OTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk1Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk2Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTk4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTk5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmcuaHRtbAppbmRleCA2OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiLi44MTI3MDJhNDRlMmQ4MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2ZhMTM4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy5odG1sCkBAIC0yMCw4ICsyMCw5IEBAIGZ1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgewogICAgIHJldHVybiBub2RlOwogfQogCi1mdW5jdGlvbiB0ZXN0Q29weVBh
c3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CiAgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CiAgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKIAogICAgIG5vZGUuZm9jdXMoKTsKQEAgLTMxLDIwICszMiw0MSBAQCBm
dW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkg
ewogCiAgICAgY29uZmlybWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CiAKKyAgICBpZiAoZXhw
ZWN0ZWQgIT09IGNvbmZpcm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjog
RkFJTFVSRSEiKTsKKyAgICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3Rl
ZH0iYCk7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFy
a3VwfSJgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7
CiAgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
IH0KIAotdGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Ci10ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKLXRlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwotdGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKLXRlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Ci10ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Ci10ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAi
SGVsbG8iLCAxKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbzxicj53b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDMpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsIDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCA2KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8cD5MaW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsK
IAogcm9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogCiA8L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KLTwv
aHRtbD4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406252</attachid>
            <date>2020-08-07 23:57:22 -0700</date>
            <delta_ts>2020-08-08 11:40:59 -0700</delta_ts>
            <desc>Repro v7</desc>
            <filename>bug-215218-20200807235715.patch</filename>
            <type>text/plain</type>
            <size>4411030</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE3NzYxNGM3MTg5YzFl
YWI1NTFkOWRmODg3MWIwYWEyMWZkZjY5Ny4uZGVmNTQyNjhjYTM2MDljZGFlNWVjZThhYWM2ZDA5
OGJhY2RmOTgxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA4LTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFsgaU9TIHdrMiBd
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbCBpcyBhIGZsYWt5
IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNTIxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ29u
c29sZUNsaWVudDo6bWVzc2FnZVdpdGhUeXBlQW5kTGV2ZWwpOgorICAgICAgICAqIHBsYXRmb3Jt
L2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bVBhc3RlYm9hcmQ6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgpOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjp3cml0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bVBhc3RlYm9hcmQ6OnJlYWRCdWZmZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1QYXN0ZWJvYXJkOjpyZWFkU3RyaW5nIGNvbnN0KToKKwogMjAyMC0wOC0wNyAgSmFtZXMgRGFy
cGluaWFuICA8amRhcnBpbmlhbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1dlYkdMMl0gTWlz
c2luZyB2YWxpZGF0aW9uIGZvciBzYW1wbGVyIHVuaXQgaW5kZXgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOTUzY2Q4
OTU3M2ExOGFmZjY5MTdjODAxOWU1YTI1N2MzMTBmNGQ3MC4uYzUyNjNlYTg4YTA5YTk3ZmQ5NzBi
ZDBhNGNmYWM1NTlmNDI0OWNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wOC0w
NyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbIGlP
UyB3azIgXSBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgaXMg
YSBmbGFreSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTUyMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcDoKKyAgICAgICAgKElQQzo6aXNX
ZWJQYXN0ZWJvYXJkUHJveHlNZXNzYWdlKToKKyAgICAgICAgKElQQzo6dG9TdHJpbmcpOgorICAg
ICAgICAoSVBDOjpDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlOjpkaXNwYXRjaE1lc3NhZ2Vz
KToKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6c2VuZE1lc3NhZ2UpOgorICAgICAgICAoSVBD
OjpDb25uZWN0aW9uOjpzZW5kU3luY01lc3NhZ2UpOgorCiAyMDIwLTA4LTA3ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgYmFzZUxhdGVuY3kgYXR0cmlidXRlIGlz
IG1pc3Npbmcgb24gQXVkaW9Db250ZXh0IGludGVyZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvQXNzZXJ0aW9ucy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmNwcAppbmRl
eCBmNTJkMzkzOTM0Y2Y2YTI3OTllOGExNDBjMGU2OWJlMmJjOTE5MTVkLi5hZTE2OWRmZWUzZTc2
M2I0MDJiY2JjOWJiNGI4ODE2OGJkY2ZjZDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9B
c3NlcnRpb25zLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmNwcApAQCAtMjY5
LDcgKzI2OSw3IEBAIHB1YmxpYzoKIAogdm9pZCBXVEZSZXBvcnRCYWNrdHJhY2UoKQogewotICAg
IHN0YXRpYyBjb25zdGV4cHIgaW50IGZyYW1lc1RvU2hvdyA9IDMxOworICAgIHN0YXRpYyBjb25z
dGV4cHIgaW50IGZyYW1lc1RvU2hvdyA9IDE2OwogICAgIHN0YXRpYyBjb25zdGV4cHIgaW50IGZy
YW1lc1RvU2tpcCA9IDI7CiAgICAgdm9pZCogc2FtcGxlc1tmcmFtZXNUb1Nob3cgKyBmcmFtZXNU
b1NraXBdOwogICAgIGludCBmcmFtZXMgPSBmcmFtZXNUb1Nob3cgKyBmcmFtZXNUb1NraXA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBmYTdhNmVhNzM4YTllNzhlMzFhZjRlODIyNTVhODgy
MzFmNTBjN2JjLi5mYjRhOTU3YmIyN2ZlNTBlMTI5MWFmYmE3NDJkYWNhOTAwN2Q5ZDk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTU2MDMsNiArNTYwMyw3IEBAIHN0YXRpYyBFZGl0b3I6
OkNvbW1hbmQgY29tbWFuZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgY29tbWFu
ZE5hbWUsIGJvCiAKIGJvb2wgRG9jdW1lbnQ6OmV4ZWNDb21tYW5kKGNvbnN0IFN0cmluZyYgY29t
bWFuZE5hbWUsIGJvb2wgdXNlckludGVyZmFjZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKKyAg
ICBXVEZMb2dBbHdheXMoIjxXSz46IERvY3VtZW50OjpleGVjQ29tbWFuZCgnJXMnKSIsIGNvbW1h
bmROYW1lLnV0ZjgoKS5kYXRhKCkpOwogICAgIEV2ZW50UXVldWVTY29wZSBldmVudFF1ZXVlU2Nv
cGU7CiAgICAgcmV0dXJuIGNvbW1hbmQodGhpcywgY29tbWFuZE5hbWUsIHVzZXJJbnRlcmZhY2Up
LmV4ZWN1dGUodmFsdWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uc29sZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50
LmNwcAppbmRleCAyNmU2MjVmNzYwZWNhMmU3OGMyMWMzOWFmM2E1ODIwZTBjZTI2ZTUwLi5lNGUy
ZDlkMGQ3OTU1ZWQ0YTg3YmViN2JhNjI2OGRlODEyNjk4OTFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcApAQCAtMTc2LDYgKzE3NiwxMCBAQCB2b2lkIFBhZ2VD
b25zb2xlQ2xpZW50OjptZXNzYWdlV2l0aFR5cGVBbmRMZXZlbChNZXNzYWdlVHlwZSB0eXBlLCBN
ZXNzYWdlTGV2ZWwgbAogewogICAgIFN0cmluZyBtZXNzYWdlVGV4dDsKICAgICBib29sIGdvdE1l
c3NhZ2UgPSBhcmd1bWVudHMtPmdldEZpcnN0QXJndW1lbnRBc1N0cmluZyhtZXNzYWdlVGV4dCk7
CisgICAgaWYgKGdvdE1lc3NhZ2UgJiYgbWVzc2FnZVRleHQuY29udGFpbnMoIjxXSz4iKSkgewor
ICAgICAgICBXVEZMb2dBbHdheXMoIihDT05TT0xFKSAlcyIsIG1lc3NhZ2VUZXh0LnV0ZjgoKS5k
YXRhKCkpOworICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgYXV0byBtZXNzYWdlID0gbWFr
ZVVuaXF1ZTxJbnNwZWN0b3I6OkNvbnNvbGVNZXNzYWdlPihNZXNzYWdlU291cmNlOjpDb25zb2xl
QVBJLCB0eXBlLCBsZXZlbCwgbWVzc2FnZVRleHQsIGFyZ3VtZW50cy5jb3B5UmVmKCksIGxleGlj
YWxHbG9iYWxPYmplY3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1BsYXRmb3JtUGFzdGVib2FyZElPUy5tbQppbmRleCA1MjYxZmI3YTkwODdkMjczYTkwNTEwNzJi
OWJmMzMxZmY3ZWQyZjVhLi5lZTVhZGQyMjE1NjRiZWYwZWZmMWJmODIxYjM2NWRiYzIxZTAwNjJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJv
YXJkSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3Rl
Ym9hcmRJT1MubW0KQEAgLTE3Miw4ICsxNzIsMTEgQEAgT3B0aW9uYWw8UGFzdGVib2FyZEl0ZW1J
bmZvPiBQbGF0Zm9ybVBhc3RlYm9hcmQ6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgoc2l6ZV8K
ICAgICBpZiAoaW5kZXggPj0gc3RhdGljX2Nhc3Q8TlNVSW50ZWdlcj4oW21fcGFzdGVib2FyZCBu
dW1iZXJPZkl0ZW1zXSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKLSAgICBpZiAo
dGhpcy0+Y2hhbmdlQ291bnQoKSAhPSBjaGFuZ2VDb3VudCkKKyAgICBhdXRvIGN1cnJlbnRDaGFu
Z2VDb3VudCA9IHRoaXMtPmNoYW5nZUNvdW50KCk7CisgICAgaWYgKGN1cnJlbnRDaGFuZ2VDb3Vu
dCAhPSBjaGFuZ2VDb3VudCkgeworICAgICAgICBXVEZMb2dBbHdheXMoIjxXSz46IEV4cGVjdGVk
IGNoYW5nZSBjb3VudCAlZDsgZ290ICVkIiwgY2hhbmdlQ291bnQsIGN1cnJlbnRDaGFuZ2VDb3Vu
dCk7CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgfQogCiAgICAgUGFzdGVib2Fy
ZEl0ZW1JbmZvIGluZm87CiAgICAgTlNJdGVtUHJvdmlkZXIgKml0ZW1Qcm92aWRlciA9IFtbbV9w
YXN0ZWJvYXJkIGl0ZW1Qcm92aWRlcnNdIG9iamVjdEF0SW5kZXg6aW5kZXhdOwpAQCAtMzE3LDYg
KzMyMCw4IEBAIGludDY0X3QgUGxhdGZvcm1QYXN0ZWJvYXJkOjpzZXRTdHJpbmdGb3JUeXBlKGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpCiAKIGludDY0X3QgUGxhdGZvcm1QYXN0ZWJvYXJk
OjpjaGFuZ2VDb3VudCgpIGNvbnN0CiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBHZXR0aW5n
IGNoYW5nZUNvdW50OiAlZCIsIFttX3Bhc3RlYm9hcmQgY2hhbmdlQ291bnRdKTsKKyAgICBXVEZS
ZXBvcnRCYWNrdHJhY2UoKTsKICAgICByZXR1cm4gW21fcGFzdGVib2FyZCBjaGFuZ2VDb3VudF07
CiB9CiAKQEAgLTQxMiw2ICs0MTcsOCBAQCBib29sIFBsYXRmb3JtUGFzdGVib2FyZDo6YWxsb3dS
ZWFkaW5nVVJMQXRJbmRleChjb25zdCBVUkwmIHVybCwgaW50IGluZGV4KSBjb25zdAogCiB2b2lk
IFBsYXRmb3JtUGFzdGVib2FyZDo6d3JpdGUoY29uc3QgUGFzdGVib2FyZFdlYkNvbnRlbnQmIGNv
bnRlbnQpCiB7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBXcml0aW5nIHdlYiBjb250ZW50IHRv
IHBsYXRmb3JtIHBhc3RlYm9hcmQhICh3ZWIgYXJjaGl2ZSBkYXRhOiAldHUgYnl0ZXMpIiwgY29u
dGVudC5kYXRhSW5XZWJBcmNoaXZlRm9ybWF0ID8gY29udGVudC5kYXRhSW5XZWJBcmNoaXZlRm9y
bWF0LT5zaXplKCkgOiAwKTsKKyAgICBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKICAgICBhdXRvIHJl
cHJlc2VudGF0aW9uc1RvUmVnaXN0ZXIgPSBhZG9wdE5TKFtbV2ViSXRlbVByb3ZpZGVyUmVnaXN0
cmF0aW9uSW5mb0xpc3QgYWxsb2NdIGluaXRdKTsKIAogI2lmICFQTEFURk9STShNQUNDQVRBTFlT
VCkKQEAgLTY5OCw2ICs3MDUsNyBAQCBSZWZQdHI8U2hhcmVkQnVmZmVyPiBQbGF0Zm9ybVBhc3Rl
Ym9hcmQ6OnJlYWRCdWZmZXIoc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmCiAgICAgaWYgKChO
U0ludGVnZXIpaW5kZXggPCAwIHx8IChOU0ludGVnZXIpaW5kZXggPj0gW21fcGFzdGVib2FyZCBu
dW1iZXJPZkl0ZW1zXSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyAgICBXVEZMb2dBbHdh
eXMoIjxXSz46IFJlYWRpbmcgYnVmZmVyIGZvciB0eXBlIFwiJXNcIiIsIHR5cGUudXRmOCgpLmRh
dGEoKSk7CiAgICAgTlNJbmRleFNldCAqaW5kZXhTZXQgPSBbTlNJbmRleFNldCBpbmRleFNldFdp
dGhJbmRleDppbmRleF07CiAKICAgICBSZXRhaW5QdHI8TlNBcnJheT4gcGFzdGVib2FyZEl0ZW0g
PSBbbV9wYXN0ZWJvYXJkIGRhdGFGb3JQYXN0ZWJvYXJkVHlwZTp0eXBlIGluSXRlbVNldDppbmRl
eFNldF07CkBAIC03MjIsNiArNzMwLDcgQEAgU3RyaW5nIFBsYXRmb3JtUGFzdGVib2FyZDo6cmVh
ZFN0cmluZyhzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYgdHlwZSkgY29uc3QKICAgICBpZiAo
IXZhbHVlKQogICAgICAgICByZXR1cm4geyB9OwogCisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiBS
ZWFkaW5nIHN0cmluZyBmb3IgdHlwZSBcIiVzXCIiLCB0eXBlLnV0ZjgoKS5kYXRhKCkpOwogICAg
IGlmIChbdmFsdWUgaXNLaW5kT2ZDbGFzczpbTlNEYXRhIGNsYXNzXV0pCiAgICAgICAgIHZhbHVl
ID0gYWRvcHROUyhbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aERhdGE6KE5TRGF0YSAqKXZhbHVl
LmdldCgpIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXSk7CiAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCmluZGV4IDQ5MjA5NjIyMTg1ZjNiM2I0YTcy
NTZlNTQyZWI2ZDZkYzZmN2M0N2MuLmQyMTExYzM3NWM0NDc4NTNhYjBmZTk0NDZhZTA2MDJlZDFi
MWMwYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCkBAIC0x
MzAsNiArMTMwLDEzNiBAQCBDb25uZWN0aW9uOjpTeW5jTWVzc2FnZVN0YXRlJiBDb25uZWN0aW9u
OjpTeW5jTWVzc2FnZVN0YXRlOjpzaW5nbGV0b24oKQogICAgIHJldHVybiBzeW5jTWVzc2FnZVN0
YXRlOwogfQogCitzdGF0aWMgYm9vbCBpc1dlYlBhc3RlYm9hcmRQcm94eU1lc3NhZ2UoTWVzc2Fn
ZU5hbWUgbmFtZSkKK3sKKyAgICBzd2l0Y2ggKG5hbWUpIHsKKyAgICBjYXNlIE1lc3NhZ2VOYW1l
OjpXZWJQYXN0ZWJvYXJkUHJveHlfQWRkUGFzdGVib2FyZFR5cGVzOgorICAgIGNhc2UgTWVzc2Fn
ZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9BbGxQYXN0ZWJvYXJkSXRlbUluZm86CisgICAgY2Fz
ZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0NsZWFyQ2xpcGJvYXJkOgorICAgIGNh
c2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9Db250YWluc1N0cmluZ1NhZmVGb3JE
T01Ub1JlYWRGb3JUeXBlOgorICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94
eV9Db250YWluc1VSTFN0cmluZ1N1aXRhYmxlRm9yTG9hZGluZzoKKyAgICBjYXNlIE1lc3NhZ2VO
YW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfR2V0TnVtYmVyT2ZGaWxlczoKKyAgICBjYXNlIE1lc3Nh
Z2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfR2V0UGFzdGVib2FyZEJ1ZmZlckZvclR5cGU6Cisg
ICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0dldFBhc3RlYm9hcmRDaGFu
Z2VDb3VudDoKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfR2V0UGFz
dGVib2FyZENvbG9yOgorICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9H
ZXRQYXN0ZWJvYXJkSXRlbXNDb3VudDoKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJv
YXJkUHJveHlfR2V0UGFzdGVib2FyZFBhdGhuYW1lc0ZvclR5cGU6CisgICAgY2FzZSBNZXNzYWdl
TmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0dldFBhc3RlYm9hcmRTdHJpbmdGb3JUeXBlOgorICAg
IGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9HZXRQYXN0ZWJvYXJkU3RyaW5n
c0ZvclR5cGU6CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0dldFBh
c3RlYm9hcmRUeXBlczoKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlf
R2V0UGFzdGVib2FyZFVSTDoKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJv
eHlfR2V0VHlwZXM6CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0lu
Zm9ybWF0aW9uRm9ySXRlbUF0SW5kZXg6CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVi
b2FyZFByb3h5X1JlYWRCdWZmZXI6CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2Fy
ZFByb3h5X1JlYWRCdWZmZXJGcm9tUGFzdGVib2FyZDoKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpX
ZWJQYXN0ZWJvYXJkUHJveHlfUmVhZEZpbGVQYXRoczoKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpX
ZWJQYXN0ZWJvYXJkUHJveHlfUmVhZFN0cmluZ0Zyb21QYXN0ZWJvYXJkOgorICAgIGNhc2UgTWVz
c2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9SZWFkVGV4dDoKKyAgICBjYXNlIE1lc3NhZ2VO
YW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfUmVhZFVSTEZyb21QYXN0ZWJvYXJkOgorICAgIGNhc2Ug
TWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9TZXRQYXN0ZWJvYXJkQnVmZmVyRm9yVHlw
ZToKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfU2V0UGFzdGVib2Fy
ZENvbG9yOgorICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9TZXRQYXN0
ZWJvYXJkU3RyaW5nRm9yVHlwZToKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJk
UHJveHlfU2V0UGFzdGVib2FyZFR5cGVzOgorICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3Rl
Ym9hcmRQcm94eV9TZXRQYXN0ZWJvYXJkVVJMOgorICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBh
c3RlYm9hcmRQcm94eV9UeXBlc1NhZmVGb3JET01Ub1JlYWRBbmRXcml0ZToKKyAgICBjYXNlIE1l
c3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfVVJMU3RyaW5nU3VpdGFibGVGb3JMb2FkaW5n
OgorICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9VcGRhdGVTdXBwb3J0
ZWRUeXBlSWRlbnRpZmllcnM6CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFBy
b3h5X1dyaXRlQ3VzdG9tRGF0YToKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJk
UHJveHlfV3JpdGVJbWFnZVRvUGFzdGVib2FyZDoKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQ
YXN0ZWJvYXJkUHJveHlfV3JpdGVTdHJpbmdUb1Bhc3RlYm9hcmQ6CisgICAgY2FzZSBNZXNzYWdl
TmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X1dyaXRlVG9DbGlwYm9hcmQ6CisgICAgY2FzZSBNZXNz
YWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X1dyaXRlVVJMVG9QYXN0ZWJvYXJkOgorICAgIGNh
c2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9Xcml0ZVdlYkNvbnRlbnRUb1Bhc3Rl
Ym9hcmQ6CisgICAgICAgIHJldHVybiB0cnVlOworICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFr
OworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyBTdHJpbmcgdG9TdHJpbmco
TWVzc2FnZU5hbWUgbmFtZSkKK3sKKyAgICBzd2l0Y2ggKG5hbWUpIHsKKyAgICBjYXNlIE1lc3Nh
Z2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfQWRkUGFzdGVib2FyZFR5cGVzOgorICAgICAgICBy
ZXR1cm4gIldlYlBhc3RlYm9hcmRQcm94eTo6QWRkUGFzdGVib2FyZFR5cGVzIjsKKyAgICBjYXNl
IE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfQWxsUGFzdGVib2FyZEl0ZW1JbmZvOgor
ICAgICAgICByZXR1cm4gIldlYlBhc3RlYm9hcmRQcm94eTo6QWxsUGFzdGVib2FyZEl0ZW1JbmZv
IjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfQ2xlYXJDbGlwYm9h
cmQ6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFByb3h5OjpDbGVhckNsaXBib2FyZCI7
CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0NvbnRhaW5zU3RyaW5n
U2FmZUZvckRPTVRvUmVhZEZvclR5cGU6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFBy
b3h5OjpDb250YWluc1N0cmluZ1NhZmVGb3JET01Ub1JlYWRGb3JUeXBlIjsKKyAgICBjYXNlIE1l
c3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfQ29udGFpbnNVUkxTdHJpbmdTdWl0YWJsZUZv
ckxvYWRpbmc6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFByb3h5OjpDb250YWluc1VS
TFN0cmluZ1N1aXRhYmxlRm9yTG9hZGluZyI7CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFz
dGVib2FyZFByb3h5X0dldE51bWJlck9mRmlsZXM6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVi
b2FyZFByb3h5OjpHZXROdW1iZXJPZkZpbGVzIjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQ
YXN0ZWJvYXJkUHJveHlfR2V0UGFzdGVib2FyZEJ1ZmZlckZvclR5cGU6CisgICAgICAgIHJldHVy
biAiV2ViUGFzdGVib2FyZFByb3h5OjpHZXRQYXN0ZWJvYXJkQnVmZmVyRm9yVHlwZSI7CisgICAg
Y2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0dldFBhc3RlYm9hcmRDaGFuZ2VD
b3VudDoKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OkdldFBhc3RlYm9hcmRD
aGFuZ2VDb3VudCI7CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0dl
dFBhc3RlYm9hcmRDb2xvcjoKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6Okdl
dFBhc3RlYm9hcmRDb2xvciI7CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFBy
b3h5X0dldFBhc3RlYm9hcmRJdGVtc0NvdW50OgorICAgICAgICByZXR1cm4gIldlYlBhc3RlYm9h
cmRQcm94eTo6R2V0UGFzdGVib2FyZEl0ZW1zQ291bnQiOworICAgIGNhc2UgTWVzc2FnZU5hbWU6
OldlYlBhc3RlYm9hcmRQcm94eV9HZXRQYXN0ZWJvYXJkUGF0aG5hbWVzRm9yVHlwZToKKyAgICAg
ICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OkdldFBhc3RlYm9hcmRQYXRobmFtZXNGb3JU
eXBlIjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfR2V0UGFzdGVi
b2FyZFN0cmluZ0ZvclR5cGU6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFByb3h5OjpH
ZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlwZSI7CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFz
dGVib2FyZFByb3h5X0dldFBhc3RlYm9hcmRTdHJpbmdzRm9yVHlwZToKKyAgICAgICAgcmV0dXJu
ICJXZWJQYXN0ZWJvYXJkUHJveHk6OkdldFBhc3RlYm9hcmRTdHJpbmdzRm9yVHlwZSI7CisgICAg
Y2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0dldFBhc3RlYm9hcmRUeXBlczoK
KyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OkdldFBhc3RlYm9hcmRUeXBlcyI7
CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0dldFBhc3RlYm9hcmRV
Ukw6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFByb3h5OjpHZXRQYXN0ZWJvYXJkVVJM
IjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfR2V0VHlwZXM6Cisg
ICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFByb3h5OjpHZXRUeXBlcyI7CisgICAgY2FzZSBN
ZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X0luZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXg6
CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFByb3h5OjpJbmZvcm1hdGlvbkZvckl0ZW1B
dEluZGV4IjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfUmVhZEJ1
ZmZlcjoKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OlJlYWRCdWZmZXIiOwor
ICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94eV9SZWFkQnVmZmVyRnJvbVBh
c3RlYm9hcmQ6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFByb3h5OjpSZWFkQnVmZmVy
RnJvbVBhc3RlYm9hcmQiOworICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94
eV9SZWFkRmlsZVBhdGhzOgorICAgICAgICByZXR1cm4gIldlYlBhc3RlYm9hcmRQcm94eTo6UmVh
ZEZpbGVQYXRocyI7CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X1Jl
YWRTdHJpbmdGcm9tUGFzdGVib2FyZDoKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJv
eHk6OlJlYWRTdHJpbmdGcm9tUGFzdGVib2FyZCI7CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2Vi
UGFzdGVib2FyZFByb3h5X1JlYWRUZXh0OgorICAgICAgICByZXR1cm4gIldlYlBhc3RlYm9hcmRQ
cm94eTo6UmVhZFRleHQiOworICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBhc3RlYm9hcmRQcm94
eV9SZWFkVVJMRnJvbVBhc3RlYm9hcmQ6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFBy
b3h5OjpSZWFkVVJMRnJvbVBhc3RlYm9hcmQiOworICAgIGNhc2UgTWVzc2FnZU5hbWU6OldlYlBh
c3RlYm9hcmRQcm94eV9TZXRQYXN0ZWJvYXJkQnVmZmVyRm9yVHlwZToKKyAgICAgICAgcmV0dXJu
ICJXZWJQYXN0ZWJvYXJkUHJveHk6OlNldFBhc3RlYm9hcmRCdWZmZXJGb3JUeXBlIjsKKyAgICBj
YXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfU2V0UGFzdGVib2FyZENvbG9yOgor
ICAgICAgICByZXR1cm4gIldlYlBhc3RlYm9hcmRQcm94eTo6U2V0UGFzdGVib2FyZENvbG9yIjsK
KyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfU2V0UGFzdGVib2FyZFN0
cmluZ0ZvclR5cGU6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFByb3h5OjpTZXRQYXN0
ZWJvYXJkU3RyaW5nRm9yVHlwZSI7CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2Fy
ZFByb3h5X1NldFBhc3RlYm9hcmRUeXBlczoKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJk
UHJveHk6OlNldFBhc3RlYm9hcmRUeXBlcyI7CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFz
dGVib2FyZFByb3h5X1NldFBhc3RlYm9hcmRVUkw6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVi
b2FyZFByb3h5OjpTZXRQYXN0ZWJvYXJkVVJMIjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQ
YXN0ZWJvYXJkUHJveHlfVHlwZXNTYWZlRm9yRE9NVG9SZWFkQW5kV3JpdGU6CisgICAgICAgIHJl
dHVybiAiV2ViUGFzdGVib2FyZFByb3h5OjpUeXBlc1NhZmVGb3JET01Ub1JlYWRBbmRXcml0ZSI7
CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X1VSTFN0cmluZ1N1aXRh
YmxlRm9yTG9hZGluZzoKKyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OlVSTFN0
cmluZ1N1aXRhYmxlRm9yTG9hZGluZyI7CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVi
b2FyZFByb3h5X1VwZGF0ZVN1cHBvcnRlZFR5cGVJZGVudGlmaWVyczoKKyAgICAgICAgcmV0dXJu
ICJXZWJQYXN0ZWJvYXJkUHJveHk6OlVwZGF0ZVN1cHBvcnRlZFR5cGVJZGVudGlmaWVycyI7Cisg
ICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X1dyaXRlQ3VzdG9tRGF0YToK
KyAgICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OldyaXRlQ3VzdG9tRGF0YSI7Cisg
ICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X1dyaXRlSW1hZ2VUb1Bhc3Rl
Ym9hcmQ6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFByb3h5OjpXcml0ZUltYWdlVG9Q
YXN0ZWJvYXJkIjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQYXN0ZWJvYXJkUHJveHlfV3Jp
dGVTdHJpbmdUb1Bhc3RlYm9hcmQ6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVib2FyZFByb3h5
OjpXcml0ZVN0cmluZ1RvUGFzdGVib2FyZCI7CisgICAgY2FzZSBNZXNzYWdlTmFtZTo6V2ViUGFz
dGVib2FyZFByb3h5X1dyaXRlVG9DbGlwYm9hcmQ6CisgICAgICAgIHJldHVybiAiV2ViUGFzdGVi
b2FyZFByb3h5OjpXcml0ZVRvQ2xpcGJvYXJkIjsKKyAgICBjYXNlIE1lc3NhZ2VOYW1lOjpXZWJQ
YXN0ZWJvYXJkUHJveHlfV3JpdGVVUkxUb1Bhc3RlYm9hcmQ6CisgICAgICAgIHJldHVybiAiV2Vi
UGFzdGVib2FyZFByb3h5OjpXcml0ZVVSTFRvUGFzdGVib2FyZCI7CisgICAgY2FzZSBNZXNzYWdl
TmFtZTo6V2ViUGFzdGVib2FyZFByb3h5X1dyaXRlV2ViQ29udGVudFRvUGFzdGVib2FyZDoKKyAg
ICAgICAgcmV0dXJuICJXZWJQYXN0ZWJvYXJkUHJveHk6OldyaXRlV2ViQ29udGVudFRvUGFzdGVi
b2FyZCI7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybiBT
dHJpbmc6Om51bWJlcihzdGF0aWNfY2FzdDxpbnQ+KG5hbWUpKTsKK30KKwogYm9vbCBDb25uZWN0
aW9uOjpTeW5jTWVzc2FnZVN0YXRlOjpwcm9jZXNzSW5jb21pbmdNZXNzYWdlKENvbm5lY3Rpb24m
IGNvbm5lY3Rpb24sIHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiYgbWVzc2FnZSkKIHsKICAgICBz
d2l0Y2ggKG1lc3NhZ2UtPnNob3VsZERpc3BhdGNoTWVzc2FnZVdoZW5XYWl0aW5nRm9yU3luY1Jl
cGx5KCkpIHsKQEAgLTE3MSw4ICszMDEsMTAgQEAgdm9pZCBDb25uZWN0aW9uOjpTeW5jTWVzc2Fn
ZVN0YXRlOjpkaXNwYXRjaE1lc3NhZ2VzKCkKICAgICAgICAgbV9tZXNzYWdlc1RvRGlzcGF0Y2hX
aGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkuc3dhcChtZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRp
bmdGb3JTeW5jUmVwbHkpOwogICAgIH0KIAotICAgIGZvciAoYXV0byYgY29ubmVjdGlvbkFuZElu
Y29taW5nTWVzc2FnZSA6IG1lc3NhZ2VzVG9EaXNwYXRjaFdoaWxlV2FpdGluZ0ZvclN5bmNSZXBs
eSkKKyAgICBmb3IgKGF1dG8mIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UgOiBtZXNzYWdl
c1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkpIHsKKyAgICAgICAgV1RGTG9nQWx3
YXlzKCI8V0s+OiBEaXNwYXRjaGluZyAlcyB3aGlsZSB3YWl0aW5nIGZvciBzeW5jIHJlcGx5LiIs
IHRvU3RyaW5nKGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3NhZ2UubWVzc2FnZS0+bWVzc2FnZU5h
bWUoKSkudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgIGNvbm5lY3Rpb25BbmRJbmNvbWluZ01lc3Nh
Z2UuZGlzcGF0Y2goKTsKKyAgICB9CiB9CiAKIHZvaWQgQ29ubmVjdGlvbjo6U3luY01lc3NhZ2VT
dGF0ZTo6ZGlzcGF0Y2hNZXNzYWdlc0FuZFJlc2V0RGlkU2NoZWR1bGVEaXNwYXRjaE1lc3NhZ2Vz
Rm9yQ29ubmVjdGlvbihDb25uZWN0aW9uJiBjb25uZWN0aW9uKQpAQCAtNDQ5LDYgKzU4MSw5IEBA
IGJvb2wgQ29ubmVjdGlvbjo6c2VuZE1lc3NhZ2Uoc3RkOjp1bmlxdWVfcHRyPEVuY29kZXI+IGVu
Y29kZXIsIE9wdGlvblNldDxTZW5kT3B0CiAgICAgaWYgKCFpc1ZhbGlkKCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAorICAgIGlmIChpc1dlYlBhc3RlYm9hcmRQcm94eU1lc3NhZ2UoZW5jb2Rl
ci0+bWVzc2FnZU5hbWUoKSkpCisgICAgICAgIFdURkxvZ0Fsd2F5cygiPFdLPjogU2VuZGluZyAl
cy4iLCB0b1N0cmluZyhlbmNvZGVyLT5tZXNzYWdlTmFtZSgpKS51dGY4KCkuZGF0YSgpKTsKKwog
ICAgIGlmIChpc01haW5UaHJlYWQoKSAmJiBtX2luRGlzcGF0Y2hNZXNzYWdlTWFya2VkVG9Vc2VG
dWxseVN5bmNocm9ub3VzTW9kZUZvclRlc3RpbmcgJiYgIWVuY29kZXItPmlzU3luY01lc3NhZ2Uo
KSAmJiAhKGVuY29kZXItPm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBSZWNlaXZlck5hbWU6OklQ
QykgJiYgIXNlbmRPcHRpb25zLmNvbnRhaW5zKFNlbmRPcHRpb246Oklnbm9yZUZ1bGx5U3luY2hy
b25vdXNNb2RlKSkgewogICAgICAgICB1aW50NjRfdCBzeW5jUmVxdWVzdElEOwogICAgICAgICBh
dXRvIHdyYXBwZWRNZXNzYWdlID0gY3JlYXRlU3luY01lc3NhZ2VFbmNvZGVyKE1lc3NhZ2VOYW1l
OjpXcmFwcGVkQXN5bmNNZXNzYWdlRm9yVGVzdGluZywgZW5jb2Rlci0+ZGVzdGluYXRpb25JRCgp
LCBzeW5jUmVxdWVzdElEKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2ZhMTM4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTAwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMDAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEwMDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDAwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwMDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4MzIxZjFmZjBhYjk2OWEyYWVlM2Uz
Y2ZhMTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0
NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTExLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEx
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTEzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTE1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTYuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMi5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmEx
MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUy
ZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMy
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTM0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTM1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTM2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQ3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgz
MjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTU2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTYwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTYyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFm
MWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcxLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTcyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTc2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTc3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTc4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
ODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTgxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xODItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTgyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
ODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xODguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZm
MGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xOTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xOTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTk4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTk5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MTI3MDJhNDRlMmQ4MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2ZhMTM4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgx
MjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjAyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjAzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjA1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjA2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjA3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjA5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUz
ZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjE4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcw
MmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIw
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjIzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjI4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNj
ZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM1Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjM4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0
NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQx
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQ0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDYuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmEx
MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjU3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUy
ZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjYyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYy
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjY4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgz
MjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjgwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgwLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjg1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
ODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjkwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yOTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
OTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yOTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4MzIxZjFmZjBh
Yjk2OWEyYWVlM2UzY2ZhMTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5
YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzA1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzA4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzA5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzA5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMS5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzEwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzExLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTIuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTUuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTcu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJh
ZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgx
MjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzM1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzM2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUz
ZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcw
MmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUw
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzUxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzUyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzU0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNj
ZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzYyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY2Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzY4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0
NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcwLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcx
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzcyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzc0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzYuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzc4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmEx
MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zODItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
ODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zODguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUy
ZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzky
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzky
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzkzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzk0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
OTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk4Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzk4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzk5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2ZhMTM4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDAyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDAzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFi
OTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDExLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDExLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDEzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE2
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDE4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDE5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDIzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5
YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDM4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDIuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDQzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQ0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDUuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDcu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQ3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJh
ZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUyLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDU0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ni5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgx
MjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDYwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Njgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUz
ZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc1Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcw
MmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDgwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgw
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDgxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDgyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDg0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
ODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDg1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00ODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00ODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNj
ZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00OTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
OTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00OTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00OTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00OTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00OTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4
MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2ZhMTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFm
MWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAxLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAyLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAzLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA0
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTA1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTA1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTA1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTA2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTA3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTA4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTA5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTA5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTA5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEwLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTEwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01MTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTExLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTExLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01MTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01MTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE1LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01MTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01MTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE3Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01MTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE4Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTE5Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZm
MGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01MjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIwLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01MjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIzLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI0Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTI3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTI4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Mjkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MjkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTI5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTMxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01MzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01MzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM1LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01MzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
MzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01MzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01MzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01MzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTM5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFi
OTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQwLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQwLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01NDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQxLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTQyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01NDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQyLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQzLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01NDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ2
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTQ4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NDkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQ5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUxLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTUxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTUyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01NTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTU0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01NTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01NTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTU3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU4LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01NTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01NTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01NTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01NTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTU5Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5
YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01NjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01NjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYwLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01NjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYxLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTYyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYyLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01NjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYzLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01NjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY1Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY2Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTY4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTY4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NjkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTY5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTY5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcxLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzIuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTczLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01NzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTc0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc1LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01NzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzUuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NzYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTc2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01NzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Nzcu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01NzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJh
ZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01ODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01ODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgxLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01ODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgyLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01ODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgzLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg0Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01ODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg1Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01ODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg2Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg4
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01ODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTg5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgx
MjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTkwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTkyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTkzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
OTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTk0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01OTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01OTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OTgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01OTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
OTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTk5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2Zh
MTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MC5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTYwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02MDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
MDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02MDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02MDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA1Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02MDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02MDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA3Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MDktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02MDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjA5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgz
MjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEwLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjExLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjExLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEyLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjEzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjE1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
MTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MTkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjE5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjE5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02MjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIxLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02MjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02MjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02MjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02MjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI3Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02MjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI4Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjI5Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFm
MWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02MzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMwLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02MzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMxLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMyLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMzLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjM0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM0
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjM1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjM2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mzgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
MzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjM5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQwLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02NDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02NDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjQzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02NDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ1LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02NDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
NDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02NDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02NDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjQ3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02NDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ4Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjQ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQ5Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZm
MGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02NTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUwLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02NTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02NTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUzLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjU0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU0Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjU2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NTkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjU5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjYwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
NjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjYxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02NjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02NjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY1LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02NjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
NjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02NjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02NjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02NjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjY5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFi
OTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcwLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcwLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02NzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcxLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjcyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02NzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcyLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjczLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjczLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02NzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc0Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc1Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc2
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Njc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Njc3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjc4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NzkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjc5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OC5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjgwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODAtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODAuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODEuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgxLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjgxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
ODItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjgyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02ODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjgzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjg0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02ODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Njg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjg1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg2LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02ODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02ODYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg3LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg4LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02ODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02ODguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02ODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02ODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjg5Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5
YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkwLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02OTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02OTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkwLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02OTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkxLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjky
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkyLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02OTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkzLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02OTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk0Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk1Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk2Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk3
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Njk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Njk4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjk5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjk5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTI3
MDJhNDRlMmQ4MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2ZhMTM4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0
NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcwLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAwLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAx
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzAyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzAzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzA1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzA1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
MDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDYuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA2Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzA2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03MDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzA3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA4
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzA4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzA5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzA5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03MDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MDkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzA5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzA5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmEx
MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzEwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzExLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03MTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzExLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03MTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
MTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03MTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03MTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE1Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE3Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzE4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MTktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzE5Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUy
ZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03MjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIwLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIxLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIy
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzIzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzI3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03MjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI4Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzI4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03MjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MjkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzI5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03MzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03MzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzMxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03MzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
MzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03MzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM1Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03MzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03MzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM3Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzM4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MzktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzM5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgz
MjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQwLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQxLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03NDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQxLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzQyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQyLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzQ0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
NDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzQ4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NDkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQ5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUxLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzUxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03NTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzUyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03NTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03NTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03NTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03NTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzU3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU3Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03NTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU4Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03NTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzU5Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFm
MWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03NjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYwLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03NjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYxLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzYyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYyLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYzLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY0
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Njgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzY4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
NjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NjkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzY5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzY5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTc3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcwLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03NzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzIuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzczLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03NzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc1LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03NzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
NzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc3LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03NzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03NzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc3Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc4LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03NzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc4Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzc5Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZm
MGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03ODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgwLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgxLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03ODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgyLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03ODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgzLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg0Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg1
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Nzg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg2Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Nzg2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03ODkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzg5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzkwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
OTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTEuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzkyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03OTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzkzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03OTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Nzk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzk0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk1LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk2LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03OTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
OTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03OTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03OTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk4Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03OTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzk5Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTI3MDJhNDRlMmQ4MzIxZjFmZjBhYjk2OWEy
YWVlM2UzY2ZhMTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUz
ZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04MDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
MDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODAwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04MDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04MDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04MDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04MDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAzLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04MDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODA1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04MDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA1Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04MDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODA5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODA5
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcw
MmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgxLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODEwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEw
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODExLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODExLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODExLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODEyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODEzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODEzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODE0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
MTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODE1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04MTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODE2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04MTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODE3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04MTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODE4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04MTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MTku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODE5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODE5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNj
ZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04MjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODIwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04MjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04MjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04MjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04MjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIzLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04MjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODI1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI1Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODI2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04MjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI2Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODI3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04MjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI3Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04MjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI4Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODI5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODI5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0
NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODMwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMwLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODMxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMx
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODMyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODMyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODMzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODMzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODM0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODM0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODM1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
MzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzYuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM2Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODM2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04MzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODM3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04MzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM4
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODM4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODM5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04MzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MzkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODM5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmEx
MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTg0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04NDAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODQwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODQwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04NDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODQxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04NDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
NDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04NDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04NDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04NDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04NDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODQ1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ1Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04NDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODQ2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODQ3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04NDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODQ3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ3Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODQ4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04NDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODQ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NDktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04NDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQ5Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUy
ZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODUwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04NTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUwLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUxLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODUyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUy
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODUzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODUzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODU0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODU0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODU1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODU1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODU2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODU3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODU3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04NTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU4Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODU4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04NTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NTkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODU5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODU5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ni1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ni5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTg2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04NjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODYwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04NjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODYxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODYxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04NjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODYyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04NjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
NjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODYzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04NjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04NjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODY0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04NjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY1Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04NjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODY2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04NjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODY3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY3Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODY4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04NjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODY4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODY5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NjktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04NjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODY5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04Ny5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgz
MjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODcwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04NzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcwLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcxLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODcxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04NzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcxLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODcyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcyLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODczLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODczLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcz
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODc0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODc0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODc1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzUuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODc1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODc2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODc2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODc2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Nzct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzcuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc3Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODc3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
NzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODc4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04NzktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NzkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODc5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODc5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04ODAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODgwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgxLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04ODEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODgxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04ODItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODgyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04ODMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODMu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODgzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04ODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
ODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg1LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04ODUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04ODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODg1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04ODYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04ODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODg2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg2Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg3LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04ODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODg3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg3Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg4
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy04ODguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODg4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg4Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODg5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04ODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04ODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODg5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODg5Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04OS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFm
MWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODkwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04OTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODkwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkwLmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODkxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04OTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkxLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04OTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkyLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODkzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkzLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODk0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk0
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODk1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODk1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODk2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTYuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk2Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODk2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODk3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODk4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
OTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OTkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODk5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODk5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MTI3MDJhNDRlMmQ4MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2ZhMTM4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC5odG1sIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTkwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTAwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTAwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDAuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTAwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAxLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTAxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDIuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTAyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
MDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTAzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05MDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTA0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTA1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA1LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDUuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA1
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTA1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA2LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05MDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDYuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTA2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05MDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MDcu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA4LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
MDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05MDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05MDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTA5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTA5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJh
ZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEwLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05MTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05MTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTExLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTExLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05MTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05MTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTExLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05MTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEyLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05MTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEzLmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTE0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05MTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE0Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTE1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05MTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE1Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTE2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05MTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE2Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTE3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE3Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE4
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTE4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE4
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTE5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTE5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTE5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgx
MjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTky
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTIwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTIwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIxLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTIxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTIyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTIzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
MjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTI0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05MjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI1Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTI1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTI2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05MjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjYuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI2
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTI2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI3LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05MjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MjcuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTI3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTI3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI4LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05MjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mjgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05MjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
MjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTI5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
My5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUz
ZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMwLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05MzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
MzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTMwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMxLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05MzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05MzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTMxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05MzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05MzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTMyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMyLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05MzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTMzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMzLmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05MzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTM0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM0Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTM1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05MzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTM1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM1Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTM2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05MzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM2Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM3LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTM3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05MzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM3Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTM4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM4Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTM5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTM5
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcw
MmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTQwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDAtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQwLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQw
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTQxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTQxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTQyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTQyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTQzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTQzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDQuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTQ0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
NDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ1Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTQ1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05NDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDYuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTQ2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ3LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ3
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTQ3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05NDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDguaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTQ4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTQ4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05NDktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NDku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTQ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQ5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNj
ZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05NTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTAu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTUwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
NTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05NTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05NTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05NTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTUzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUzLmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05NTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTU0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU0Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU1
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05NTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTU1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU1Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU2LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05NTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU2Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTU3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTctZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05NTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU3Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTU4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05NTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU4Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTU5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTU5Lmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ni5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0
NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTYwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYwLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTYxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYx
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTYyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTYyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjMuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTYzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTY0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTY0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjUuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY1Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTY1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
NjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjYuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY2Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTY2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05NjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY3Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTY3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY4
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTY4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTY5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05NjktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NjkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTY5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTY5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmEx
MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTk3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcwLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05NzAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTcwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTcwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcxLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05NzEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05NzItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
NzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTcyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTczLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05NzMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05NzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTczLmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05NzQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTc0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc0Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05NzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTc1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc1Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05NzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTc2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc2Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTc3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05NzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTc3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc3Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTc4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05NzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTc5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NzktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05NzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTc5Lmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05OC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUy
ZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk4Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgwLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTgwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
CisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48
cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05ODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0
ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgwLmh0bWwK
QEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRp
dGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBu
b2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24g
dGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5l
cklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4
cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46
IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0
ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1h
cmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIp
OworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7
Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJI
ZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2
PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBj
ZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+
PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+Iiwg
IjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46
IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTgxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODEtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2Vu
dGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwv
cD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAy
YTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgxLmh0
bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3Qi
KTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRl
RWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAg
ICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rp
b24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRh
aW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYg
KGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxX
Sz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhw
ZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1l
ZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNT
ISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICIn
Iik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwv
ZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWdu
OiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48
L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+
IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxX
Sz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTgyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjog
Y2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9u
ZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEy
NzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgy
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJv
b3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3Jl
YXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsK
KyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVu
Y3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNv
bnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
aWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2co
IjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7
ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZp
cm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQ
QVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCAr
ICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9i
PjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFs
aWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwv
aT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288
L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2co
IjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTgzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5l
IE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTgzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBw
YXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMu
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24g
Y3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQs
IGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5s
b2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDog
IiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2Nv
bmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+
OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3Rl
ZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwg
Mik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
NSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+
PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0
LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxs
bzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBU
d288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5s
b2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFj
NDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5M
aW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODQuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTg0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFu
ZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRp
dnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0g
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rp
b24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0g
dHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30K
KworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0
ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklE
fWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29s
ZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVY
UDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIk
e2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8
V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBl
Y3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxk
IiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0i
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88
L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0
ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5o
ZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGlu
ZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29s
ZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTg1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2
MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8
cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODUuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTg1Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9u
IGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVk
IGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2Vs
ID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVu
Y3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxl
ID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhw
ZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5l
cklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29u
c29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAt
IEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6
ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9n
KCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBl
eHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndv
cmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09
PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+
IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVs
bG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9
XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+
TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29u
c29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODYt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0i
dGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODYuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTg2Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0
aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVz
dGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIg
c2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKwor
ZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRh
YmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwg
ZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRh
aW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAg
Y29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+
OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBH
T1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIg
KyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46
ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3Qg
KDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJy
PndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09
PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9k
aXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+
SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5
bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7
PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOwor
Y29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
ODctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg3Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTg3Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2Vs
ZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUg
bmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2
YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisK
KworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVk
aXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4g
bm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2Nv
bnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAg
ICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8
V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjog
LSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNv
bGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAi
JyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxX
Sz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRl
c3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxv
PGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09
PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+
PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYg
c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYj
MTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcp
OworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05ODgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODguaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg4Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTg4Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05ODktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05ODkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTg5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTg5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgxMjcwMmE0NGUyZDgzMjFmMWZmMGFiOTY5YTJhZWUzZTNjZmExMzgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTk5Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEg
c2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVh
dGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7
CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFy
IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVu
dEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIk
e2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAg
ICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9n
KGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdL
PjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNv
bnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAi
LCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2co
IjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5n
IHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhl
bGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09
PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25z
b2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjog
U3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+
PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIs
IDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9w
PiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIs
IDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkwLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05OTAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAw
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkw
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTkwLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5
IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBj
cmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9v
dCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29u
dGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWlu
ZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsK
KyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUu
bG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxvZyhg
PFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAg
IGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJr
dXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29sZS5s
b2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0
aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwg
IkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09
PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citj
b25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdL
PjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25l
PC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9w
PiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05OTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIjZmYw
MDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTkxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNlM2Nm
YTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTkxLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBj
b3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5v
dCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7Cisg
ICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5vZGUu
Y29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBjb250
YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJrdXAp
IHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNvbnNv
bGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xlLmxv
ZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJtZWRN
YXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICgx
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29uc29s
ZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0
YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxk
IiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9
PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0
KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7
Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygi
PFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iiwg
IjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
ZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUg
T25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUgVHdv
PC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05OTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFya3Vw
IGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPSIj
ZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFlZTNl
M2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkyLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2Vz
IG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3VwKSB7
CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAgIG5v
ZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1cDsK
KyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9IGBj
b250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRNYXJr
dXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAgIGNv
bnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25zb2xl
LmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25maXJt
ZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOworY29u
c29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46
IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJyPndv
cmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09
PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0
ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
NCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxv
ZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4i
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsIDYp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxwPkxp
bmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxpbmUg
VHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05OTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVkTWFy
a3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3JsZCcK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
OTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTkzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5NjlhMmFl
ZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3Mg
dGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBk
b2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFya3Vw
KSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOworICAg
IG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1hcmt1
cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJtZWRN
YXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBjb25z
b2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBlbHNl
CisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJjb25m
aXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEpOwor
Y29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxX
Sz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvPGJy
PndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09
PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMykuIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0
ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+
IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xl
LmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
IDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxw
PkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxwPkxp
bmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0eWxl
LmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05OTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmlybWVk
TWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53b3Js
ZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4nCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy05OTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTk0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5Njlh
MmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlv
biBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIg
cm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwgbWFy
a3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOwor
ICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9IG1h
cmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5p
ZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25maXJt
ZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7CisgICAg
ICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAgICBj
b25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAgfSBl
bHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJlKCJj
b25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIsIDEp
OworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2co
IjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
PGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjogPT09
PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoMyku
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGlu
ZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9k
aXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25z
b2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9wPjxw
PkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290LnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk1LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05OTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29uZmly
bWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxicj53
b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PicK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwvcD4n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05OTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTk1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYwYWI5
NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk1Lmh0bWwKQEAgLTAsMCArMSw3MiBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNlbGVj
dGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFtZSwg
bWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUp
OworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRNTCA9
IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9k
ZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBjb25m
aXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7Cisg
ICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAgICAg
ICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7CisgICAg
fSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3VsZEJl
KCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxsbyIs
IDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdLPjog
PT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAo
MykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNvbGUu
bG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBTdGFy
dGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVsbG88
L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndvcmxk
PC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citj
b25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2Pjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25lPC9w
PjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCityb290
LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1MgY29u
ZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbzxi
cj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3bzwv
cD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05OTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTk2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYxZmYw
YWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk2Lmh0bWwKQEAgLTAsMCArMSw3
MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1lIHNl
bGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7
Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFnTmFt
ZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05h
bWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVySFRN
TCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQYXN0
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
bm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9PSBj
b25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUhIik7
CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOworICAg
ICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNob3Vs
ZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJIZWxs
byIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29s
ZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2NvbnNv
bGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+OiBT
dGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+SGVs
bG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2Pndv
cmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7
Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09
PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUgT25l
PC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOworCity
b290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk3
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZj
YTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVy
IHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BBU1Mg
Y29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxs
bzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5lIFR3
bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05OTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTk3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMyMWYx
ZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk3Lmh0bWwKQEAgLTAsMCAr
MSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBzYW1l
IHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUodGFn
TmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRh
Z05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlubmVy
SFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlQ
YXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVkICE9
PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxVUkUh
Iik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImApOwor
ICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0iYCk7
CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAgIHNo
b3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIsICJI
ZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29u
c29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxvZygi
PFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcg
dGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxkaXY+
SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2
PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09
Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250Pjwv
ZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxpbmUg
T25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIpOwor
Cityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTk4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBv
dmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisKK1BB
U1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdI
ZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05OTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTk4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJkODMy
MWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk4Lmh0bWwKQEAgLTAs
MCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRo
aXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRoZSBz
YW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2RvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFibGUo
dGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2RlLmlu
bmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVzdENv
cHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVjdGVk
ICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZBSUxV
UkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9ImAp
OworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1cH0i
YCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOworICAg
IHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9CisK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbyIs
ICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOwor
Y29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xlLmxv
ZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRp
bmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAzKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8
V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxk
aXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rpdj48
ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09PT09
PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09PT09
PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYpLiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7
XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250
PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09
PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxwPkxp
bmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJTiIp
OworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTk5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4
ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OTktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0
ZSBvdmVyIHRoZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuCisK
K1BBU1MgY29uZmlybWVkTWFya3VwIGlzICdIZWxsbycKK1BBU1MgY29uZmlybWVkTWFya3VwIGlz
ICdIZWxsbzxicj53b3JsZCcKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPSIjZmYwMDAwIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PicKK1BBU1MgY29uZmlybWVkTWFya3VwIGlzICc8cD5MaW5lIE9uZTwvcD48cD5M
aW5lIFR3bzwvcD4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05OTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyNzAyYTQ0ZTJk
ODMyMWYxZmYwYWI5NjlhMmFlZTNlM2NmYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTk5Lmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb3B5IGEgc2VsZWN0aW9uIGFuZCBwYXN0ZSBvdmVyIHRo
ZSBzYW1lIHNlbGVjdGlvbiBkb2VzIG5vdCBjcmVhdGUgbmVzdGVkIGRpdnMuPC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCit2YXIgc2VsID0gZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCk7Cit2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInJvb3QiKTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7CisKKworZnVuY3Rpb24gY3JlYXRlRWRpdGFi
bGUodGFnTmFtZSwgbWFya3VwKSB7CisgICAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHRhZ05hbWUpOworICAgIG5vZGUuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKKyAgICBub2Rl
LmlubmVySFRNTCA9IG1hcmt1cDsKKyAgICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gdGVz
dENvcHlQYXN0ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklE
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgbm9kZS5pZCA9IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgaWYgKGV4cGVj
dGVkICE9PSBjb25maXJtZWRNYXJrdXApIHsKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IEZB
SUxVUkUhIik7CisgICAgICAgIGNvbnNvbGUubG9nKGA8V0s+OiAtIEVYUDogIiR7ZXhwZWN0ZWR9
ImApOworICAgICAgICBjb25zb2xlLmxvZyhgPFdLPjogLSBHT1Q6ICIke2NvbmZpcm1lZE1hcmt1
cH0iYCk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCI8V0s+OiBQQVNTISIpOwor
ICAgIHNob3VsZEJlKCJjb25maXJtZWRNYXJrdXAiLCAiJyIgKyBleHBlY3RlZCArICInIik7Cit9
CisKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICgxKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxs
byIsICJIZWxsbyIsIDEpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIp
OworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDIpLiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvPGJyPndvcmxkIiwgIkhlbGxvPGJyPndvcmxkIiwgMik7Citjb25zb2xl
LmxvZygiPFdLPjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3Rh
cnRpbmcgdGVzdCAoMykuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iLCAz
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg0KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+PC9kaXY+IiwgIjxkaXY+SGVsbG88L2Rp
dj48ZGl2PndvcmxkPC9kaXY+IiwgNCk7Citjb25zb2xlLmxvZygiPFdLPjogPT09PT09PT09PT09
PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVzdCAoNSkuIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+IiwgIjxkaXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pjxk
aXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2PiIsIDUpOworY29uc29sZS5sb2coIjxXSz46ID09
PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDYp
LiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50
ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9m
b250PjwvZGl2PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4iLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsIDYpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09
PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDcpLiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxwPkxpbmUgT25lPC9wPiYjMTA7PHA+TGluZSBUd288L3A+IiwgIjxw
PkxpbmUgT25lPC9wPjxwPkxpbmUgVHdvPC9wPiIsIDcpOworY29uc29sZS5sb2coIjxXSz46IEZJ
TiIpOworCityb290LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbApp
bmRleCA2OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiLi44MTI3MDJhNDRl
MmQ4MzIxZjFmZjBhYjk2OWEyYWVlM2UzY2ZhMTM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sCkBAIC0y
MCw4ICsyMCw5IEBAIGZ1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewog
ICAgIHJldHVybiBub2RlOwogfQogCi1mdW5jdGlvbiB0ZXN0Q29weVBhc3RlKHRhZ05hbWUsIG9y
aWdpbmFsTWFya3VwLCBleHBlY3RlZCkgeworZnVuY3Rpb24gdGVzdENvcHlQYXN0ZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCwgZXhwZWN0ZWQsIGNvbnRhaW5lcklEKSB7CiAgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgbm9kZS5pZCA9
IGBjb250YWluZXIke2NvbnRhaW5lcklEfWA7CiAgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
IAogICAgIG5vZGUuZm9jdXMoKTsKQEAgLTMxLDIwICszMiw0MSBAQCBmdW5jdGlvbiB0ZXN0Q29w
eVBhc3RlKHRhZ05hbWUsIG9yaWdpbmFsTWFya3VwLCBleHBlY3RlZCkgewogCiAgICAgY29uZmly
bWVkTWFya3VwID0gbm9kZS5pbm5lckhUTUw7CiAKKyAgICBpZiAoZXhwZWN0ZWQgIT09IGNvbmZp
cm1lZE1hcmt1cCkgeworICAgICAgICBjb25zb2xlLmxvZygiPFdLPjogRkFJTFVSRSEiKTsKKyAg
ICAgICAgY29uc29sZS5sb2coYDxXSz46IC0gRVhQOiAiJHtleHBlY3RlZH0iYCk7CisgICAgICAg
IGNvbnNvbGUubG9nKGA8V0s+OiAtIEdPVDogIiR7Y29uZmlybWVkTWFya3VwfSJgKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIjxXSz46IFBBU1MhIik7CiAgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKIH0KIAotdGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Ci10ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKLXRlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwotdGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKLXRlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Ci10ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Ci10ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoMSkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG8iLCAiSGVsbG8iLCAxKTsKK2Nv
bnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9nKCI8V0s+
OiBTdGFydGluZyB0ZXN0ICgyKS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICJIZWxsbzxicj53
b3JsZCIsICJIZWxsbzxicj53b3JsZCIsIDIpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09
PT09PT09PT09PSIpOworY29uc29sZS5sb2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDMpLiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+Iiwg
IjxkaXY+SGVsbG88L2Rpdj48ZGl2PndvcmxkPC9kaXY+IiwgMyk7Citjb25zb2xlLmxvZygiPFdL
PjogPT09PT09PT09PT09PT09PT09Iik7Citjb25zb2xlLmxvZygiPFdLPjogU3RhcnRpbmcgdGVz
dCAoNCkuIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdj48ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PjwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
IDQpOworY29uc29sZS5sb2coIjxXSz46ID09PT09PT09PT09PT09PT09PSIpOworY29uc29sZS5s
b2coIjxXSz46IFN0YXJ0aW5nIHRlc3QgKDUpLiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZGl2
PiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCA1KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsK
K2NvbnNvbGUubG9nKCI8V0s+OiBTdGFydGluZyB0ZXN0ICg2KS4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
IiwgIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT5oZWxsbzwvaT48L2I+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4iLCA2
KTsKK2NvbnNvbGUubG9nKCI8V0s+OiA9PT09PT09PT09PT09PT09PT0iKTsKK2NvbnNvbGUubG9n
KCI8V0s+OiBTdGFydGluZyB0ZXN0ICg3KS4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8cD5M
aW5lIE9uZTwvcD4mIzEwOzxwPkxpbmUgVHdvPC9wPiIsICI8cD5MaW5lIE9uZTwvcD48cD5MaW5l
IFR3bzwvcD4iLCA3KTsKK2NvbnNvbGUubG9nKCI8V0s+OiBGSU4iKTsKIAogcm9vdC5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOwogCiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406256</attachid>
            <date>2020-08-08 11:40:29 -0700</date>
            <delta_ts>2020-08-08 11:42:12 -0700</delta_ts>
            <desc>Test a potential fix</desc>
            <filename>bug-215218-20200808114024.patch</filename>
            <type>text/plain</type>
            <size>1838191</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE3NzYxNGM3MTg5YzFl
YWI1NTFkOWRmODg3MWIwYWEyMWZkZjY5Ny4uNTc1YWI5ZGExNjljMDcyODJjZDVjNTA2OWJkMjFm
Y2ExZjY0MjhkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxNSBAQAorMjAyMC0wOC0wOCAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbIGlPUyB3azIg
XSBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgaXMgYSBmbGFr
eSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTUyMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0czogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDMuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDkuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExOS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzIuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzguaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzkuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Lmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjEuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjIuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNjUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjcuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjguaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjkuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Lmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTIu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xOTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOTQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTcuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTguaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xOTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDIuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMDUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDcuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDguaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDkuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxMC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjI3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzIu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMzMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzYuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzcuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzguaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Lmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjUxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjAuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjcuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNjkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI3NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yOTEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTQuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTYuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yOTguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDAuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDEu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMDMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDYuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDcuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMDkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzIwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzQuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzUuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzYuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMzguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNjEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjMuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNjguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjkuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzg1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zOTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTIuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTMuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zOTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTguaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MDEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDMuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDkuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxOS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzIuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzMuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzQuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzguaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDUzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjIuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjMuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjcuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjguaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjkuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTAuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTIuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OTQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTYuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTcuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTguaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
OTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTYyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTc1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4Lmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTk1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk4Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRtbAorCisg
ICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpl
eGVjQ29tbWFuZCk6CisgICAgICAgICogcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5Lmg6CisK
IDIwMjAtMDgtMDcgIEphbWVzIERhcnBpbmlhbiAgPGpkYXJwaW5pYW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtXZWJHTDJdIE1pc3NpbmcgdmFsaWRhdGlvbiBmb3Igc2FtcGxlciB1bml0IGlu
ZGV4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDk1M2NkODk1NzNhMThhZmY2OTE3YzgwMTllNWEyNTdjMzEwZjRkNzAu
LjhkNDAxNjM3ZTk5ZGM0ZWIxNjhhNDdmNjEzNWQ1N2I0MTU3Mzc5MjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjcgQEAKKzIwMjAtMDgtMDggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgWyBpT1Mgd2syIF0gZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MjE4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVi
b2FyZFByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhc3RlYm9hcmRQcm94eTo6
d3JpdGVVUkxUb1Bhc3RlYm9hcmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXN0ZWJvYXJkUHJv
eHk6OndyaXRlV2ViQ29udGVudFRvUGFzdGVib2FyZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
c3RlYm9hcmRQcm94eTo6d3JpdGVJbWFnZVRvUGFzdGVib2FyZCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVTdHJpbmdUb1Bhc3RlYm9hcmQpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjaGFuZ2VDb3VudCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6d3JpdGVUb1Bhc3RlYm9hcmQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OndpbGxXcml0ZVRvUGFzdGVi
b2FyZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVn
aWVzOjpkaWRXcml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3YWl0Rm9yUGVuZGluZ1Bhc3RlYm9hcmRXcml0ZXMp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRX
cml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KToKKwogMjAyMC0wOC0wNyAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIGJhc2VMYXRlbmN5IGF0dHJpYnV0ZSBp
cyBtaXNzaW5nIG9uIEF1ZGlvQ29udGV4dCBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwppbmRleCA5YTM2NmIwY2FjYzcxZDE1MDVmYTA3MGJiODM4MzE0ZDU5YWFlYjU5Li42Mzhi
YzczYWM2OTIwNWFiNWIwMjZmMGJhNWUyODNkOTNjMzcyYjVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDgtMDggIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgWyBpT1Mgd2syIF0gZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MjE4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKwogMjAyMC0wOC0wNSAgVGltIEhvcnRvbiAg
PHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgYWxsIHJlZmVyZW5j
ZXMgdG8gbm9uLWV4aXN0ZW50IDEwLjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBmYTdh
NmVhNzM4YTllNzhlMzFhZjRlODIyNTVhODgyMzFmNTBjN2JjLi45NTRiMGIxZmYxMjRmOGU4NTAy
NWUyNmIyODNlN2RjYzFjNGViMzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTI4OSw2
ICsyODksOCBAQAogI2luY2x1ZGUgIk5hdmlnYXRvckdlb2xvY2F0aW9uLmgiCiAjZW5kaWYKIAor
I2luY2x1ZGUgPGRiZ19jb2xvcnMuaD4KKwogI2lmIEVOQUJMRShJT1NfR0VTVFVSRV9FVkVOVFMp
CiAjaW5jbHVkZSAiR2VzdHVyZUV2ZW50LmgiCiAjZW5kaWYKQEAgLTU2MDMsNiArNTYwNSw3IEBA
IHN0YXRpYyBFZGl0b3I6OkNvbW1hbmQgY29tbWFuZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0
IFN0cmluZyYgY29tbWFuZE5hbWUsIGJvCiAKIGJvb2wgRG9jdW1lbnQ6OmV4ZWNDb21tYW5kKGNv
bnN0IFN0cmluZyYgY29tbWFuZE5hbWUsIGJvb2wgdXNlckludGVyZmFjZSwgY29uc3QgU3RyaW5n
JiB2YWx1ZSkKIHsKKyAgICBSRUQoIjxXSz46IGRvY3VtZW50LmV4ZWNDb21tYW5kKCclcycsIC4u
LikiLCBjb21tYW5kTmFtZS51dGY4KCkuZGF0YSgpKTsKICAgICBFdmVudFF1ZXVlU2NvcGUgZXZl
bnRRdWV1ZVNjb3BlOwogICAgIHJldHVybiBjb21tYW5kKHRoaXMsIGNvbW1hbmROYW1lLCB1c2Vy
SW50ZXJmYWNlKS5leGVjdXRlKHZhbHVlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UGFzdGVib2FyZFN0cmF0ZWd5LmgKaW5kZXggYTI3MWMwZTg1NGMzZDg0Nzc1OTYwYzMzNjI5MDNk
ZmY5ZjkyMWVlMi4uZjhlNzRmZDE2YTc4ZGY1ZmRjMGM2MDZlYzA2OTYxYjNlOTdhNDIwYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5LmgKQEAgLTY4LDYg
KzY4LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGNvbnRhaW5zVVJMU3RyaW5nU3Vp
dGFibGVGb3JMb2FkaW5nKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpID0gMDsKICAgICB2
aXJ0dWFsIFN0cmluZyB1cmxTdHJpbmdTdWl0YWJsZUZvckxvYWRpbmcoY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkTmFtZSwgU3RyaW5nJiB0aXRsZSkgPSAwOworCisgICAgdmlydHVhbCB2b2lkIGRp
ZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJk
TmFtZSkgPSAwOwogI2VuZGlmCiAgICAgdmlydHVhbCBTdHJpbmcgcmVhZFN0cmluZ0Zyb21QYXN0
ZWJvYXJkKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3Qg
U3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgPSAwOwogICAgIHZpcnR1YWwgUmVmUHRyPFNoYXJlZEJ1
ZmZlcj4gcmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5
Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYXN0ZWJvYXJkUHJv
eHlDb2NvYS5tbQppbmRleCAxODcwZWJjNDE0MWI2YmQ4ZGMxNzA1MTI3MWM2ZTI1YmFmOGNmZWVl
Li5jNDM5MjIyOTc0MjI1OTQ5YzQ1MGE2N2I5NGJhOGUxNjFhZWM4OGIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYXN0ZWJvYXJkUHJveHlDb2Nv
YS5tbQpAQCAtMzAsNiArMzAsNyBAQAogI2ltcG9ydCAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2lt
cG9ydCAiV2ViUGFnZVByb3h5LmgiCiAjaW1wb3J0ICJXZWJQcmVmZXJlbmNlcy5oIgorI2ltcG9y
dCAiV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzUHJveHkuaCIKICNp
bXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFzdGVib2FyZC5oPgpA
QCAtNDUzLDYgKzQ1NCw4IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZVVSTFRvUGFz
dGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0CiAgICAgYXV0byBwcmV2
aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFu
Z2VDb3VudCgpOwogICAgIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkud3JpdGUo
dXJsKTsKICAgICBkaWRNb2RpZnlDb250ZW50c09mUGFzdGVib2FyZChjb25uZWN0aW9uLCBwYXN0
ZWJvYXJkTmFtZSwgcHJldmlvdXNDaGFuZ2VDb3VudCwgUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3Rl
Ym9hcmROYW1lKS5jaGFuZ2VDb3VudCgpKTsKKyAgICBpZiAoYXV0byogcHJvY2VzcyA9IHdlYlBy
b2Nlc3NQcm94eUZvckNvbm5lY3Rpb24oY29ubmVjdGlvbikpCisgICAgICAgIHByb2Nlc3MtPnNl
bmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkRpZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3Vz
bHkocGFzdGVib2FyZE5hbWUpLCAwKTsKIH0KIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6Ondy
aXRlV2ViQ29udGVudFRvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNv
bnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRXZWJDb250ZW50JiBjb250ZW50LCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lKQpAQCAtNDYyLDYgKzQ2NSw4IEBAIHZvaWQgV2ViUGFzdGVib2FyZFBy
b3h5Ojp3cml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uCiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBh
c3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwogICAgIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0
ZWJvYXJkTmFtZSkud3JpdGUoY29udGVudCk7CiAgICAgZGlkTW9kaWZ5Q29udGVudHNPZlBhc3Rl
Ym9hcmQoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUsIHByZXZpb3VzQ2hhbmdlQ291bnQsIFBs
YXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKSk7CisgICAgaWYg
KGF1dG8qIHByb2Nlc3MgPSB3ZWJQcm9jZXNzUHJveHlGb3JDb25uZWN0aW9uKGNvbm5lY3Rpb24p
KQorICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpEaWRXcml0ZVRv
UGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KHBhc3RlYm9hcmROYW1lKSwgMCk7CiB9CiAKIHZvaWQg
V2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUltYWdlVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZEltYWdlJiBwYXN0ZWJvYXJk
SW1hZ2UsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCkBAIC00NzEsNiArNDc2LDggQEAg
dm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlSW1hZ2VUb1Bhc3RlYm9hcmQoSVBDOjpDb25u
ZWN0aW9uJiBjb25uZWN0aW9uLCBjb24KICAgICBhdXRvIHByZXZpb3VzQ2hhbmdlQ291bnQgPSBQ
bGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLmNoYW5nZUNvdW50KCk7CiAgICAgUGxh
dGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS53cml0ZShwYXN0ZWJvYXJkSW1hZ2UpOwog
ICAgIGRpZE1vZGlmeUNvbnRlbnRzT2ZQYXN0ZWJvYXJkKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmRO
YW1lLCBwcmV2aW91c0NoYW5nZUNvdW50LCBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5h
bWUpLmNoYW5nZUNvdW50KCkpOworICAgIGlmIChhdXRvKiBwcm9jZXNzID0gd2ViUHJvY2Vzc1By
b3h5Rm9yQ29ubmVjdGlvbihjb25uZWN0aW9uKSkKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNz
YWdlczo6V2ViUHJvY2Vzczo6RGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShwYXN0
ZWJvYXJkTmFtZSksIDApOwogfQogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVTdHJp
bmdUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmluZyYgcGFzdGVi
b2FyZE5hbWUpCkBAIC00ODEsNiArNDg4LDggQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6Ondy
aXRlU3RyaW5nVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY28KICAg
ICBhdXRvIHByZXZpb3VzQ2hhbmdlQ291bnQgPSBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2Fy
ZE5hbWUpLmNoYW5nZUNvdW50KCk7CiAgICAgUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmRO
YW1lKS53cml0ZShwYXN0ZWJvYXJkVHlwZSwgdGV4dCk7CiAgICAgZGlkTW9kaWZ5Q29udGVudHNP
ZlBhc3RlYm9hcmQoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUsIHByZXZpb3VzQ2hhbmdlQ291
bnQsIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKSk7Cisg
ICAgaWYgKGF1dG8qIHByb2Nlc3MgPSB3ZWJQcm9jZXNzUHJveHlGb3JDb25uZWN0aW9uKGNvbm5l
Y3Rpb24pKQorICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpEaWRX
cml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KHBhc3RlYm9hcmROYW1lKSwgMCk7CiB9CiAK
IHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp1cGRhdGVTdXBwb3J0ZWRUeXBlSWRlbnRpZmllcnMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGlkZW50aWZpZXJzLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9h
cmROYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAppbmRleCAzOTA0YmVmNzgx
YTZkMTQ5MGY4ZGI3ZTgxMzNmZWM2YTUxYjZkZTFhLi5iMDQ5NmFhZmVmNThkNjFlYzIzOTA4NTUw
OTE3ZmMwZWI3ZjYzZjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcApAQCAt
NDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIldlYlBhc3RlYm9hcmRPdmVycmlkZXMuaCIKICNpbmNs
dWRlICJXZWJQYXN0ZWJvYXJkUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3Mu
aCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNz
UHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQXVkaW9EZXN0aW5hdGlvbi5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvQ29sb3IuaD4KQEAgLTE2OSw4ICsxNzAsMTEgQEAgVmVjdG9yPFN0
cmluZz4gV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphbGxTdHJpbmdzRm9yVHlwZShjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmQKIAogaW50NjRfdCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNoYW5nZUNv
dW50KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7CisgICAgd2FpdEZvclBlbmRpbmdQ
YXN0ZWJvYXJkV3JpdGVzKHBhc3RlYm9hcmROYW1lKTsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46
IFJlcXVlc3RpbmcgY2hhbmdlIGNvdW50IGZvciAnJXMnIiwgcGFzdGVib2FyZE5hbWUudXRmOCgp
LmRhdGEoKSk7CiAgICAgaW50NjRfdCBjaGFuZ2VDb3VudCB7IDAgfTsKICAgICBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kU3luYyhNZXNzYWdl
czo6V2ViUGFzdGVib2FyZFByb3h5OjpHZXRQYXN0ZWJvYXJkQ2hhbmdlQ291bnQocGFzdGVib2Fy
ZE5hbWUpLCBNZXNzYWdlczo6V2ViUGFzdGVib2FyZFByb3h5OjpHZXRQYXN0ZWJvYXJkQ2hhbmdl
Q291bnQ6OlJlcGx5KGNoYW5nZUNvdW50KSwgMCk7CisgICAgV1RGTG9nQWx3YXlzKCI8V0s+OiAg
PT4gJWxsZCIsIGNoYW5nZUNvdW50KTsKICAgICByZXR1cm4gY2hhbmdlQ291bnQ7CiB9CiAKQEAg
LTI2NSwyMSArMjY5LDI1IEBAIFN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnVybFN0cmlu
Z1N1aXRhYmxlRm9yTG9hZGluZyhjb25zdCBTdHJpbmcmIHBhc3RlYm9hCiAKIHZvaWQgV2ViUGxh
dGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChjb25zdCBQYXN0ZWJvYXJkVVJMJiB1
cmwsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7CisgICAgd2lsbFdyaXRlVG9QYXN0
ZWJvYXJkQXN5bmNocm9ub3VzbHkocGFzdGVib2FyZE5hbWUpOwogICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBh
c3RlYm9hcmRQcm94eTo6V3JpdGVVUkxUb1Bhc3RlYm9hcmQodXJsLCBwYXN0ZWJvYXJkTmFtZSks
IDApOwogfQogCiB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6d3JpdGVUb1Bhc3RlYm9hcmQo
Y29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZFdlYkNvbnRlbnQmIGNvbnRlbnQsIGNvbnN0IFN0cmlu
ZyYgcGFzdGVib2FyZE5hbWUpCiB7CisgICAgd2lsbFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9u
b3VzbHkocGFzdGVib2FyZE5hbWUpOwogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVu
dFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6
V3JpdGVXZWJDb250ZW50VG9QYXN0ZWJvYXJkKGNvbnRlbnQsIHBhc3RlYm9hcmROYW1lKSwgMCk7
CiB9CiAKIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChjb25z
dCBXZWJDb3JlOjpQYXN0ZWJvYXJkSW1hZ2UmIGltYWdlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9h
cmROYW1lKQogeworICAgIHdpbGxXcml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KHBhc3Rl
Ym9hcmROYW1lKTsKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29u
bmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OldyaXRlSW1hZ2VU
b1Bhc3RlYm9hcmQoaW1hZ2UsIHBhc3RlYm9hcmROYW1lKSwgMCk7CiB9CiAKIHZvaWQgV2ViUGxh
dGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9h
cmRUeXBlLCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUp
CiB7CisgICAgd2lsbFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkocGFzdGVib2FyZE5h
bWUpOwogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9u
KCktPnNlbmQoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6V3JpdGVTdHJpbmdUb1Bhc3Rl
Ym9hcmQocGFzdGVib2FyZFR5cGUsIHRleHQsIHBhc3RlYm9hcmROYW1lKSwgMCk7CiB9CiAKQEAg
LTI4Nyw4ICsyOTUsMzMgQEAgdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnVwZGF0ZVN1cHBv
cnRlZFR5cGVJZGVudGlmaWVycyhjb25zdCBWZWN0b3I8U3RyaW5nPiYKIHsKICAgICBXZWJQcm9j
ZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYXN0ZWJvYXJkUHJveHk6OlVwZGF0ZVN1cHBvcnRlZFR5cGVJZGVudGlmaWVycyhpZGVu
dGlmaWVycywgcGFzdGVib2FyZE5hbWUpLCAwKTsKIH0KKwogI2VuZGlmIC8vIFBMQVRGT1JNKElP
U19GQU1JTFkpCiAKK3ZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3aWxsV3JpdGVUb1Bhc3Rl
Ym9hcmRBc3luY2hyb25vdXNseShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQoreworICAg
ICsrbV9wZW5kaW5nUGFzdGVib2FyZFdyaXRlQ291bnRzLmVuc3VyZShwYXN0ZWJvYXJkTmFtZSwg
W10geworICAgICAgICByZXR1cm4gMDsKKyAgICB9KS5pdGVyYXRvci0+dmFsdWU7Cit9CisKK3Zv
aWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpkaWRXcml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91
c2x5KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCit7CisgICAgYXV0byBpdGVyYXRvciA9
IG1fcGVuZGluZ1Bhc3RlYm9hcmRXcml0ZUNvdW50cy5maW5kKHBhc3RlYm9hcmROYW1lKTsKKyAg
ICBpZiAoaXRlcmF0b3IgIT0gbV9wZW5kaW5nUGFzdGVib2FyZFdyaXRlQ291bnRzLmVuZCgpICYm
IGl0ZXJhdG9yLT52YWx1ZSA+IDApCisgICAgICAgIC0taXRlcmF0b3ItPnZhbHVlOworfQorCit2
b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6d2FpdEZvclBlbmRpbmdQYXN0ZWJvYXJkV3JpdGVz
KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCit7CisgICAgd2hpbGUgKG1fcGVuZGluZ1Bh
c3RlYm9hcmRXcml0ZUNvdW50cy5nZXQocGFzdGVib2FyZE5hbWUpKSB7CisgICAgICAgIGlmICgh
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+d2FpdEZv
ckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OldlYlByb2Nlc3M6OkRpZFdyaXRlVG9Q
YXN0ZWJvYXJkQXN5bmNocm9ub3VzbHk+KDAsIDFfcywgSVBDOjpXYWl0Rm9yT3B0aW9uOjpJbnRl
cnJ1cHRXYWl0aW5nSWZTeW5jTWVzc2FnZUFycml2ZXMpKSB7CisgICAgICAgICAgICBtX3BlbmRp
bmdQYXN0ZWJvYXJkV3JpdGVDb3VudHMucmVtb3ZlKHBhc3RlYm9hcmROYW1lKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorfQorCiAjZW5kaWYgLy8gUExBVEZPUk0oQ09D
T0EpCiAKICNpZiBQTEFURk9STShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKaW5k
ZXggYTQ4MzcwOTc4OWU1NjhiNzg4ZjJjNTgzM2MwZmY1OTM3ODEwN2M5Yy4uNzFhODI2MDNkYjVj
ZWJiNGY3ZGEzZTU4NzVkN2NiN2ExNTJiNmQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuaApAQCAtNzMsNiArNzMsMTAgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgY29udGFpbnNVUkxT
dHJpbmdTdWl0YWJsZUZvckxvYWRpbmcoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgb3Zl
cnJpZGU7CiAgICAgU3RyaW5nIHVybFN0cmluZ1N1aXRhYmxlRm9yTG9hZGluZyhjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lLCBTdHJpbmcmIHRpdGxlKSBvdmVycmlkZTsKKworICAgIHZvaWQg
d2lsbFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkoY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSk7CisgICAgdm9pZCBkaWRXcml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIG92ZXJyaWRlOworICAgIHZvaWQgd2FpdEZvclBl
bmRpbmdQYXN0ZWJvYXJkV3JpdGVzKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpOwogI2Vu
ZGlmCiAjaWYgUExBVEZPUk0oR1RLKQogICAgIFZlY3RvcjxTdHJpbmc+IHR5cGVzKGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUpIG92ZXJyaWRlOwpAQCAtOTcsNiArMTAxLDEwIEBAIHByaXZh
dGU6CiAgICAgVmVjdG9yPFN0cmluZz4gdHlwZXNTYWZlRm9yRE9NVG9SZWFkQW5kV3JpdGUoY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU3RyaW5nJiBvcmlnaW4pIG92ZXJyaWRl
OwogICAgIGludDY0X3Qgd3JpdGVDdXN0b21EYXRhKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpQYXN0
ZWJvYXJkQ3VzdG9tRGF0YT4mLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKICAgICBib29sIGNv
bnRhaW5zU3RyaW5nU2FmZUZvckRPTVRvUmVhZEZvclR5cGUoY29uc3QgU3RyaW5nJiwgY29uc3Qg
U3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgb3ZlcnJpZGU7CisKKyNpZiBQTEFURk9STShDT0NPQSkK
KyAgICBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+IG1fcGVuZGluZ1Bhc3RlYm9hcmRXcml0ZUNv
dW50czsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCA4ZDJiYTI2ZTQxNGJmNWFjY2FkZTM1NjU0NjZlMjBk
ZDE1NzRhZWM4Li5mMWUxZDY2MGI0YzM2ZjcyZDAzMzE5ZmMwYjg1ZDFlM2IxYjYzNTYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTMwOCw2ICszMDgsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCB1bmJsb2NrUHJlZmVyZW5jZVNlcnZpY2UoU2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlQXJyYXkmJik7CiAjZW5kaWYKICAgICB2b2lkIHBvd2VyU291cmNlRGlkQ2hhbmdlKGJv
b2wpOworICAgIHZvaWQgZGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmROYW1lKTsKICNlbmRpZgogCiAgICAgYm9vbCBhcmVBbGxQYWdlc1Ro
cm90dGxlYWJsZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5tZXNzYWdlcy5pbgppbmRleCBjZGEwNWI5NGZmMmFkYjQyNDcwNTk3MjM0NDQyYWYzOTAz
N2Q3YjlmLi44OTM1OTg5NTBjZjYyOTZkMGRjNGZiN2EzMjk2YjcyODE3YzBlMjE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMTc4
LDQgKzE3OCw4IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgTm90UmVm
Q291bnRlZCB7CiAjaWYgUExBVEZPUk0oR1RLKSAmJiAhVVNFKEdUSzQpCiAgICAgU2V0VXNlU3lz
dGVtQXBwZWFyYW5jZUZvclNjcm9sbGJhcnMoYm9vbCB1c2VTeXN0ZW1BcHBlYXJhbmNlRm9yU2Ny
b2xsYmFycykKICNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgRGlkV3JpdGVUb1Bh
c3RlYm9hcmRBc3luY2hyb25vdXNseShTdHJpbmcgcGFzdGVib2FyZE5hbWUpOworI2VuZGlmCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5t
bQppbmRleCAxNDkwMWZiMGY2MTlhNjgxNjgwMWJmZjBjZmVmNGI3OWQwMDQxYThjLi5hZmM2ZWVi
NzAzYjFmYWQ5ZDVjODZkNGM5MTg0Yzg0YWUyZmE3NmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTY0LDggKzY0LDEwIEBA
CiAjaW1wb3J0IDxXZWJDb3JlL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L01lbW9yeVJlbGVhc2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvTlNTY3JvbGxlckltcERldGFpbHMu
aD4KKyNpbXBvcnQgPFdlYkNvcmUvUGFzdGVib2FyZFN0cmF0ZWd5Lmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1BlcmZvcm1hbmNlTG9nZ2luZy5oPgogI2ltcG9ydCA8V2ViQ29yZS9QaWN0dXJlSW5QaWN0
dXJlU3VwcG9ydC5oPgorI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaD4KICNp
bXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1NXQ29udGV4dE1hbmFnZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvU3lzdGVtQmF0dGVyeS5o
PgpAQCAtMTA3NSw2ICsxMDc3LDEwIEBAIHZvaWQgV2ViUHJvY2Vzczo6cG93ZXJTb3VyY2VEaWRD
aGFuZ2UoYm9vbCBoYXNBQykKICAgICBzZXRTeXN0ZW1IYXNBQyhoYXNBQyk7CiB9CiAKK3ZvaWQg
V2ViUHJvY2Vzczo6ZGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lKQoreworICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJv
YXJkU3RyYXRlZ3koKS0+ZGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShwYXN0ZWJv
YXJkTmFtZSk7Cit9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
aCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5oCmluZGV4IDM2Y2QxY2FlMDBlOWM2ZWNkM2RhNzFkOThlMzAzMGIxMTE3MTFiMzku
LjViMGI0ZDhhNjFiMzNlYmZlZjU5YjBlNzYwOTcxN2RiMDc3ZDA3YTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRm
b3JtU3RyYXRlZ2llcy5oCkBAIC04Miw1ICs4Miw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBjb250
YWluc1N0cmluZ1NhZmVGb3JET01Ub1JlYWRGb3JUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUpIG92ZXJyaWRlOwogICAgIGJvb2wgY29udGFpbnNVUkxTdHJp
bmdTdWl0YWJsZUZvckxvYWRpbmcoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgb3ZlcnJp
ZGU7CiAgICAgU3RyaW5nIHVybFN0cmluZ1N1aXRhYmxlRm9yTG9hZGluZyhjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lLCBTdHJpbmcmIHRpdGxlKSBvdmVycmlkZTsKKworICAgIHZvaWQgZGlk
V3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShjb25zdCBTdHJpbmcmKSBvdmVycmlkZSB7
IH0KIH07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBjNmY5NmEwNmEyZmJjNTI5NDhhMTM0MzE1M2QzNzU2OTg4OGFlOWRh
Li4wNjNkMmFjY2E0MjdkNGI0NjkyYTMwOTU5NmM0NmJiMThiNzRmYzI5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTAxMSBAQAorMjAyMC0wOC0wOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KKworICAgICAgICBbIGlPUyB3azIgXSBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUyMTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTAzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTA2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTA3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDgtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTAuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTExMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMTYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTkuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjAtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMjIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjUuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjYt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEy
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTMwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTMxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEzMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTM5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQwLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNDAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ5LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNDkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNTUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTU3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTguaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTY3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjgtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTcwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzAuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzEtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNzMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc2LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NzYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTc5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzkuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4
MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTgxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODIuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xODMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODYtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xODguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTkxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE5Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xOTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xOTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTk2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xOTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk5
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjAzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjA3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDgtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjEwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTAuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMTMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMTYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjE5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTkuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIyMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjIu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjYtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMjguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMw
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjM2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjM5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNDAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQ2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNDkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNTUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTguaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTkt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjYzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY3
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjcwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzAuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI3MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNzMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzYuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjc5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzkuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
ODMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODYtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yODguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yODktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjkxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTgt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzA3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzEwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTAuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMTMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTYu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzE5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTkuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMjAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzIxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjIuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjUuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjYtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMjguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMz
Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzM2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMzOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NDAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNDYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNDkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTAtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTguaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzYwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzY0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY2Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzY5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzcwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM3Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNzMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzYuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzc5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzgxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODIuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zODUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODYtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zODguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zODktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zOTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zOTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzk2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzk3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTgtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDAzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA3LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MDcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDEwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MTMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTYuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDE5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTkuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MjAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDIxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjIuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQyMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjYtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MjguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MjktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMx
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDM3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzgtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM5Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDAuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDQzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NDYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDku
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTAtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDU0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTUuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTguaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ni5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDYwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDYxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDY0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NjgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDY5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcw
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NzAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NzMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzYuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDc5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NzkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDguaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00ODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDgxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDgyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODIuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00ODUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDg3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODgu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00OTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDkzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTcuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTgtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTAwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUxLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTUyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTU0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU3Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYwLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy03OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTgxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTgzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTg3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg4Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTg5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkwLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTky
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTk0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTk2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
OS5odG1sOiBBZGRlZC4KKwogMjAyMC0wOC0wNyAgSGVjdG9yIExvcGV6ICA8aGVjdG9yX2lfbG9w
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFsgbWFjT1Mgd2syIF0gZmFzdC9mb3Jtcy9hdXRvLWZp
bGwtYnV0dG9uL2NhcHMtbG9jay1pbmRpY2F0b3Itc2hvdWxkLWJlLXZpc2libGUtYWZ0ZXItaGlk
aW5nLWF1dG8tZmlsbC1zdHJvbmctcGFzc3dvcmQtYnV0dG9uLmh0bWwgaXMgYSBmbGFreSBmYWls
dXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAz
YTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTAyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEwNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEy
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEy
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEz
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEz
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEzMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEzMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE0MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE0MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Mi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQ3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTUxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTYwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTcwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTk2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIwNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIzMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIzMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjUxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjYwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjc5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzA1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMy
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMy
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzYwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBm
ZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDExLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDExLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Mi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ni5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4
NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJh
MWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTUwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy01NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTU1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy01NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU3LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTctZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3
ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy02NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3
ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2
OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcw
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNh
NDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ny5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg4LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctODguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04OS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcy
Mzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRh
NjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ni5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406257</attachid>
            <date>2020-08-08 11:42:45 -0700</date>
            <delta_ts>2020-08-08 11:42:45 -0700</delta_ts>
            <desc>Test a potential fix</desc>
            <filename>bug-215218-20200808114239.patch</filename>
            <type>text/plain</type>
            <size>1838041</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE3NzYxNGM3MTg5YzFl
YWI1NTFkOWRmODg3MWIwYWEyMWZkZjY5Ny4uNTc1YWI5ZGExNjljMDcyODJjZDVjNTA2OWJkMjFm
Y2ExZjY0MjhkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxNSBAQAorMjAyMC0wOC0wOCAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbIGlPUyB3azIg
XSBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgaXMgYSBmbGFr
eSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTUyMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0czogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMDEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDMuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDQuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDkuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCisgICAgICAg
ICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExOS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIyLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI3Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTI5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzIuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzMuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzguaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzkuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNC5odG1s
CisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Lmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjEuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjIuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNjUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjcuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjguaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjkuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3
NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Lmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTIu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xOTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOTQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTYuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTcuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTguaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xOTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDIuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMDQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMDUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDcuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDguaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDkuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxMC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjIxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI2Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjI3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzIu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMzMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzYuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzcuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzguaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Lmh0
bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjUxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUzLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjU2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjU3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjAuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjEu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNjIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjUuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjYuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjcuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNjguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNjkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI3NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mjg1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yOTEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yOTIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTQuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTYuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yOTcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yOTguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yOTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbAorICAgICAgICAgICAg
ICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDAuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDEu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMDMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDUuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDYuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDcuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMDkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxNS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzIwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMzIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzQuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzUuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzYuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMzguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNjEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjMuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjUuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNjguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjkuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNy5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3
MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzg1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg5
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zOTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTIuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTMuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTQuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zOTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zOTcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTguaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MDEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDIuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDMuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDUuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MDcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MDguaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDkuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMy5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxOC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxOS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIwLmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDIzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDI0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDI1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzIuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzMuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzQuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzcuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzguaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCisg
ICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ0OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDUyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDUzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU3Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjEuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjIuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjMuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NjQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NjUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NjYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjcuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjguaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjkuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3MC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ3Ni5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDgxLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg0Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3
Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg5Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTAuaHRtbAorICAgICAgICAgICAgICAg
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTIuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00OTMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OTQuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00OTUuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTYuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTcuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTguaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
OTkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy01Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MDAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MS5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTU1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4Lmh0bWwKKyAgICAgICAgICAgICAgIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTYyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbAorICAg
ICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny5o
dG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTY4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNjkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTc1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4Lmh0bWwKKyAgICAgICAgICAgICAg
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbAorICAgICAg
ICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0bWwK
KyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
ODAuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04MS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTgyLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1Lmh0bWwKKyAgICAgICAg
ICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbAor
ICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04
Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTg4Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODkuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAuaHRtbAorICAgICAgICAgICAgICAgZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS5odG1sCisgICAgICAgICAg
ICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLmh0bWwKKyAg
ICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTMu
aHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05NC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTk1Lmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ny5odG1sCisgICAgICAgICAgICAgICBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk4Lmh0bWwKKyAgICAgICAgICAg
ICAgIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRtbAorCisg
ICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpl
eGVjQ29tbWFuZCk6CisgICAgICAgICogcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5Lmg6CisK
IDIwMjAtMDgtMDcgIEphbWVzIERhcnBpbmlhbiAgPGpkYXJwaW5pYW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtXZWJHTDJdIE1pc3NpbmcgdmFsaWRhdGlvbiBmb3Igc2FtcGxlciB1bml0IGlu
ZGV4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDk1M2NkODk1NzNhMThhZmY2OTE3YzgwMTllNWEyNTdjMzEwZjRkNzAu
LjhkNDAxNjM3ZTk5ZGM0ZWIxNjhhNDdmNjEzNWQ1N2I0MTU3Mzc5MjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjcgQEAKKzIwMjAtMDgtMDggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgWyBpT1Mgd2syIF0gZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MjE4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVi
b2FyZFByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhc3RlYm9hcmRQcm94eTo6
d3JpdGVVUkxUb1Bhc3RlYm9hcmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXN0ZWJvYXJkUHJv
eHk6OndyaXRlV2ViQ29udGVudFRvUGFzdGVib2FyZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
c3RlYm9hcmRQcm94eTo6d3JpdGVJbWFnZVRvUGFzdGVib2FyZCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVTdHJpbmdUb1Bhc3RlYm9hcmQpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjaGFuZ2VDb3VudCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6d3JpdGVUb1Bhc3RlYm9hcmQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OndpbGxXcml0ZVRvUGFzdGVi
b2FyZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVn
aWVzOjpkaWRXcml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3YWl0Rm9yUGVuZGluZ1Bhc3RlYm9hcmRXcml0ZXMp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRX
cml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KToKKwogMjAyMC0wOC0wNyAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIGJhc2VMYXRlbmN5IGF0dHJpYnV0ZSBp
cyBtaXNzaW5nIG9uIEF1ZGlvQ29udGV4dCBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwppbmRleCA5YTM2NmIwY2FjYzcxZDE1MDVmYTA3MGJiODM4MzE0ZDU5YWFlYjU5Li42Mzhi
YzczYWM2OTIwNWFiNWIwMjZmMGJhNWUyODNkOTNjMzcyYjVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDgtMDggIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgWyBpT1Mgd2syIF0gZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MjE4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKwogMjAyMC0wOC0wNSAgVGltIEhvcnRvbiAg
PHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgYWxsIHJlZmVyZW5j
ZXMgdG8gbm9uLWV4aXN0ZW50IDEwLjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBmYTdh
NmVhNzM4YTllNzhlMzFhZjRlODIyNTVhODgyMzFmNTBjN2JjLi40MGViNDM1YWQ3OTgxOWJmNTg0
N2JiZTJmODdhODAzMGMxZWViZDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTU2MDMs
NiArNTYwMyw3IEBAIHN0YXRpYyBFZGl0b3I6OkNvbW1hbmQgY29tbWFuZChEb2N1bWVudCogZG9j
dW1lbnQsIGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUsIGJvCiAKIGJvb2wgRG9jdW1lbnQ6OmV4
ZWNDb21tYW5kKGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUsIGJvb2wgdXNlckludGVyZmFjZSwg
Y29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKKyAgICBXVEZMb2dBbHdheXMoIjxXSz46IGRvY3VtZW50
LmV4ZWNDb21tYW5kKCclcycsIC4uLikiLCBjb21tYW5kTmFtZS51dGY4KCkuZGF0YSgpKTsKICAg
ICBFdmVudFF1ZXVlU2NvcGUgZXZlbnRRdWV1ZVNjb3BlOwogICAgIHJldHVybiBjb21tYW5kKHRo
aXMsIGNvbW1hbmROYW1lLCB1c2VySW50ZXJmYWNlKS5leGVjdXRlKHZhbHVlKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5LmgKaW5kZXggYTI3MWMwZTg1
NGMzZDg0Nzc1OTYwYzMzNjI5MDNkZmY5ZjkyMWVlMi4uZjhlNzRmZDE2YTc4ZGY1ZmRjMGM2MDZl
YzA2OTYxYjNlOTdhNDIwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFz
dGVib2FyZFN0cmF0ZWd5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2Fy
ZFN0cmF0ZWd5LmgKQEAgLTY4LDYgKzY4LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29s
IGNvbnRhaW5zVVJMU3RyaW5nU3VpdGFibGVGb3JMb2FkaW5nKGNvbnN0IFN0cmluZyYgcGFzdGVi
b2FyZE5hbWUpID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyB1cmxTdHJpbmdTdWl0YWJsZUZvckxv
YWRpbmcoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgU3RyaW5nJiB0aXRsZSkgPSAwOwor
CisgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkoY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgPSAwOwogI2VuZGlmCiAgICAgdmlydHVhbCBTdHJp
bmcgcmVhZFN0cmluZ0Zyb21QYXN0ZWJvYXJkKHNpemVfdCBpbmRleCwgY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgPSAwOwogICAgIHZp
cnR1YWwgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gcmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHNpemVf
dCBpbmRleCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0
ZWJvYXJkTmFtZSkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbQppbmRleCAxODcwZWJjNDE0MWI2YmQ4ZGMx
NzA1MTI3MWM2ZTI1YmFmOGNmZWVlLi5jNDM5MjIyOTc0MjI1OTQ5YzQ1MGE2N2I5NGJhOGUxNjFh
ZWM4OGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYXN0
ZWJvYXJkUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbQpAQCAtMzAsNiArMzAsNyBAQAogI2ltcG9ydCAiU2Fu
ZGJveEV4dGVuc2lvbi5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAjaW1wb3J0ICJXZWJQ
cmVmZXJlbmNlcy5oIgorI2ltcG9ydCAiV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW1wb3J0ICJX
ZWJQcm9jZXNzUHJveHkuaCIKICNpbXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KICNpbXBvcnQgPFdl
YkNvcmUvUGFzdGVib2FyZC5oPgpAQCAtNDUzLDYgKzQ1NCw4IEBAIHZvaWQgV2ViUGFzdGVib2Fy
ZFByb3h5Ojp3cml0ZVVSTFRvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24s
IGNvbnN0CiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJk
KHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwogICAgIFBsYXRmb3JtUGFzdGVib2FyZChw
YXN0ZWJvYXJkTmFtZSkud3JpdGUodXJsKTsKICAgICBkaWRNb2RpZnlDb250ZW50c09mUGFzdGVi
b2FyZChjb25uZWN0aW9uLCBwYXN0ZWJvYXJkTmFtZSwgcHJldmlvdXNDaGFuZ2VDb3VudCwgUGxh
dGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpKTsKKyAgICBpZiAo
YXV0byogcHJvY2VzcyA9IHdlYlByb2Nlc3NQcm94eUZvckNvbm5lY3Rpb24oY29ubmVjdGlvbikp
CisgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkRpZFdyaXRlVG9Q
YXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkocGFzdGVib2FyZE5hbWUpLCAwKTsKIH0KIAogdm9pZCBX
ZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlV2ViQ29udGVudFRvUGFzdGVib2FyZChJUEM6OkNvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRXZWJDb250ZW50JiBj
b250ZW50LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQpAQCAtNDYyLDYgKzQ2NSw4IEBA
IHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmQoSVBD
OjpDb25uZWN0aW9uJiBjb25uZWN0aW9uCiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0g
UGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwogICAgIFBs
YXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkud3JpdGUoY29udGVudCk7CiAgICAgZGlk
TW9kaWZ5Q29udGVudHNPZlBhc3RlYm9hcmQoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUsIHBy
ZXZpb3VzQ2hhbmdlQ291bnQsIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hh
bmdlQ291bnQoKSk7CisgICAgaWYgKGF1dG8qIHByb2Nlc3MgPSB3ZWJQcm9jZXNzUHJveHlGb3JD
b25uZWN0aW9uKGNvbm5lY3Rpb24pKQorICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQcm9jZXNzOjpEaWRXcml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KHBhc3RlYm9hcmRO
YW1lKSwgMCk7CiB9CiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUltYWdlVG9QYXN0
ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgV2ViQ29yZTo6UGFzdGVi
b2FyZEltYWdlJiBwYXN0ZWJvYXJkSW1hZ2UsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUp
CkBAIC00NzEsNiArNDc2LDggQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlSW1hZ2VU
b1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb24KICAgICBhdXRvIHBy
ZXZpb3VzQ2hhbmdlQ291bnQgPSBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLmNo
YW5nZUNvdW50KCk7CiAgICAgUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS53cml0
ZShwYXN0ZWJvYXJkSW1hZ2UpOwogICAgIGRpZE1vZGlmeUNvbnRlbnRzT2ZQYXN0ZWJvYXJkKGNv
bm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lLCBwcmV2aW91c0NoYW5nZUNvdW50LCBQbGF0Zm9ybVBh
c3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLmNoYW5nZUNvdW50KCkpOworICAgIGlmIChhdXRvKiBw
cm9jZXNzID0gd2ViUHJvY2Vzc1Byb3h5Rm9yQ29ubmVjdGlvbihjb25uZWN0aW9uKSkKKyAgICAg
ICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6RGlkV3JpdGVUb1Bhc3RlYm9h
cmRBc3luY2hyb25vdXNseShwYXN0ZWJvYXJkTmFtZSksIDApOwogfQogCiB2b2lkIFdlYlBhc3Rl
Ym9hcmRQcm94eTo6d3JpdGVTdHJpbmdUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHRleHQs
IGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCkBAIC00ODEsNiArNDg4LDggQEAgdm9pZCBX
ZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlU3RyaW5nVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgY28KICAgICBhdXRvIHByZXZpb3VzQ2hhbmdlQ291bnQgPSBQbGF0Zm9y
bVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLmNoYW5nZUNvdW50KCk7CiAgICAgUGxhdGZvcm1Q
YXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS53cml0ZShwYXN0ZWJvYXJkVHlwZSwgdGV4dCk7CiAg
ICAgZGlkTW9kaWZ5Q29udGVudHNPZlBhc3RlYm9hcmQoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5h
bWUsIHByZXZpb3VzQ2hhbmdlQ291bnQsIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFt
ZSkuY2hhbmdlQ291bnQoKSk7CisgICAgaWYgKGF1dG8qIHByb2Nlc3MgPSB3ZWJQcm9jZXNzUHJv
eHlGb3JDb25uZWN0aW9uKGNvbm5lY3Rpb24pKQorICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQcm9jZXNzOjpEaWRXcml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KHBhc3Rl
Ym9hcmROYW1lKSwgMCk7CiB9CiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp1cGRhdGVTdXBw
b3J0ZWRUeXBlSWRlbnRpZmllcnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGlkZW50aWZpZXJzLCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVz
LmNwcAppbmRleCAzOTA0YmVmNzgxYTZkMTQ5MGY4ZGI3ZTgxMzNmZWM2YTUxYjZkZTFhLi5iMDQ5
NmFhZmVmNThkNjFlYzIzOTA4NTUwOTE3ZmMwZWI3ZjYzZjU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZv
cm1TdHJhdGVnaWVzLmNwcApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIldlYlBhc3RlYm9h
cmRPdmVycmlkZXMuaCIKICNpbmNsdWRlICJXZWJQYXN0ZWJvYXJkUHJveHlNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIK
ICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUv
QXVkaW9EZXN0aW5hdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3IuaD4KQEAgLTE2OSw4
ICsxNzAsMTEgQEAgVmVjdG9yPFN0cmluZz4gV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjphbGxTdHJp
bmdzRm9yVHlwZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmQKIAogaW50NjRfdCBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OmNoYW5nZUNvdW50KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7
CisgICAgd2FpdEZvclBlbmRpbmdQYXN0ZWJvYXJkV3JpdGVzKHBhc3RlYm9hcmROYW1lKTsKKyAg
ICBXVEZMb2dBbHdheXMoIjxXSz46IFJlcXVlc3RpbmcgY2hhbmdlIGNvdW50IGZvciAnJXMnIiwg
cGFzdGVib2FyZE5hbWUudXRmOCgpLmRhdGEoKSk7CiAgICAgaW50NjRfdCBjaGFuZ2VDb3VudCB7
IDAgfTsKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlv
bigpLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFzdGVib2FyZFByb3h5OjpHZXRQYXN0ZWJvYXJk
Q2hhbmdlQ291bnQocGFzdGVib2FyZE5hbWUpLCBNZXNzYWdlczo6V2ViUGFzdGVib2FyZFByb3h5
OjpHZXRQYXN0ZWJvYXJkQ2hhbmdlQ291bnQ6OlJlcGx5KGNoYW5nZUNvdW50KSwgMCk7CisgICAg
V1RGTG9nQWx3YXlzKCI8V0s+OiAgPT4gJWxsZCIsIGNoYW5nZUNvdW50KTsKICAgICByZXR1cm4g
Y2hhbmdlQ291bnQ7CiB9CiAKQEAgLTI2NSwyMSArMjY5LDI1IEBAIFN0cmluZyBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OnVybFN0cmluZ1N1aXRhYmxlRm9yTG9hZGluZyhjb25zdCBTdHJpbmcmIHBh
c3RlYm9hCiAKIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChj
b25zdCBQYXN0ZWJvYXJkVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7
CisgICAgd2lsbFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkocGFzdGVib2FyZE5hbWUp
OwogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCkt
PnNlbmQoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6V3JpdGVVUkxUb1Bhc3RlYm9hcmQo
dXJsLCBwYXN0ZWJvYXJkTmFtZSksIDApOwogfQogCiB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2ll
czo6d3JpdGVUb1Bhc3RlYm9hcmQoY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZFdlYkNvbnRlbnQm
IGNvbnRlbnQsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7CisgICAgd2lsbFdyaXRl
VG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkocGFzdGVib2FyZE5hbWUpOwogICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6
OldlYlBhc3RlYm9hcmRQcm94eTo6V3JpdGVXZWJDb250ZW50VG9QYXN0ZWJvYXJkKGNvbnRlbnQs
IHBhc3RlYm9hcmROYW1lKSwgMCk7CiB9CiAKIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3
cml0ZVRvUGFzdGVib2FyZChjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkSW1hZ2UmIGltYWdlLCBj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQogeworICAgIHdpbGxXcml0ZVRvUGFzdGVib2Fy
ZEFzeW5jaHJvbm91c2x5KHBhc3RlYm9hcmROYW1lKTsKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYXN0ZWJv
YXJkUHJveHk6OldyaXRlSW1hZ2VUb1Bhc3RlYm9hcmQoaW1hZ2UsIHBhc3RlYm9hcmROYW1lKSwg
MCk7CiB9CiAKIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChj
b25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7CisgICAgd2lsbFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNo
cm9ub3VzbHkocGFzdGVib2FyZE5hbWUpOwogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBh
cmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94
eTo6V3JpdGVTdHJpbmdUb1Bhc3RlYm9hcmQocGFzdGVib2FyZFR5cGUsIHRleHQsIHBhc3RlYm9h
cmROYW1lKSwgMCk7CiB9CiAKQEAgLTI4Nyw4ICsyOTUsMzMgQEAgdm9pZCBXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXM6OnVwZGF0ZVN1cHBvcnRlZFR5cGVJZGVudGlmaWVycyhjb25zdCBWZWN0b3I8U3Ry
aW5nPiYKIHsKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVj
dGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OlVwZGF0ZVN1cHBvcnRl
ZFR5cGVJZGVudGlmaWVycyhpZGVudGlmaWVycywgcGFzdGVib2FyZE5hbWUpLCAwKTsKIH0KKwog
I2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKK3ZvaWQgV2ViUGxhdGZvcm1TdHJhdGVn
aWVzOjp3aWxsV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmROYW1lKQoreworICAgICsrbV9wZW5kaW5nUGFzdGVib2FyZFdyaXRlQ291bnRzLmVu
c3VyZShwYXN0ZWJvYXJkTmFtZSwgW10geworICAgICAgICByZXR1cm4gMDsKKyAgICB9KS5pdGVy
YXRvci0+dmFsdWU7Cit9CisKK3ZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpkaWRXcml0ZVRv
UGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCit7
CisgICAgYXV0byBpdGVyYXRvciA9IG1fcGVuZGluZ1Bhc3RlYm9hcmRXcml0ZUNvdW50cy5maW5k
KHBhc3RlYm9hcmROYW1lKTsKKyAgICBpZiAoaXRlcmF0b3IgIT0gbV9wZW5kaW5nUGFzdGVib2Fy
ZFdyaXRlQ291bnRzLmVuZCgpICYmIGl0ZXJhdG9yLT52YWx1ZSA+IDApCisgICAgICAgIC0taXRl
cmF0b3ItPnZhbHVlOworfQorCit2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6d2FpdEZvclBl
bmRpbmdQYXN0ZWJvYXJkV3JpdGVzKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCit7Cisg
ICAgd2hpbGUgKG1fcGVuZGluZ1Bhc3RlYm9hcmRXcml0ZUNvdW50cy5nZXQocGFzdGVib2FyZE5h
bWUpKSB7CisgICAgICAgIGlmICghV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vz
c0Nvbm5lY3Rpb24oKS0+d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6Oldl
YlByb2Nlc3M6OkRpZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHk+KDAsIDFfcywgSVBD
OjpXYWl0Rm9yT3B0aW9uOjpJbnRlcnJ1cHRXYWl0aW5nSWZTeW5jTWVzc2FnZUFycml2ZXMpKSB7
CisgICAgICAgICAgICBtX3BlbmRpbmdQYXN0ZWJvYXJkV3JpdGVDb3VudHMucmVtb3ZlKHBhc3Rl
Ym9hcmROYW1lKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorfQorCiAj
ZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCiAKICNpZiBQTEFURk9STShHVEspCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmgKaW5kZXggYTQ4MzcwOTc4OWU1NjhiNzg4ZjJjNTgzM2MwZmY1OTM3
ODEwN2M5Yy4uNzFhODI2MDNkYjVjZWJiNGY3ZGEzZTU4NzVkN2NiN2ExNTJiNmQ5ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaApAQCAtNzMsNiArNzMsMTAgQEAgcHJpdmF0ZToKIAog
ICAgIGJvb2wgY29udGFpbnNVUkxTdHJpbmdTdWl0YWJsZUZvckxvYWRpbmcoY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkTmFtZSkgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIHVybFN0cmluZ1N1aXRhYmxl
Rm9yTG9hZGluZyhjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBTdHJpbmcmIHRpdGxlKSBv
dmVycmlkZTsKKworICAgIHZvaWQgd2lsbFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHko
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSk7CisgICAgdm9pZCBkaWRXcml0ZVRvUGFzdGVi
b2FyZEFzeW5jaHJvbm91c2x5KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIG92ZXJyaWRl
OworICAgIHZvaWQgd2FpdEZvclBlbmRpbmdQYXN0ZWJvYXJkV3JpdGVzKGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oR1RLKQogICAgIFZlY3RvcjxT
dHJpbmc+IHR5cGVzKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIG92ZXJyaWRlOwpAQCAt
OTcsNiArMTAxLDEwIEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFN0cmluZz4gdHlwZXNTYWZlRm9y
RE9NVG9SZWFkQW5kV3JpdGUoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU3Ry
aW5nJiBvcmlnaW4pIG92ZXJyaWRlOwogICAgIGludDY0X3Qgd3JpdGVDdXN0b21EYXRhKGNvbnN0
IFZlY3RvcjxXZWJDb3JlOjpQYXN0ZWJvYXJkQ3VzdG9tRGF0YT4mLCBjb25zdCBTdHJpbmcmKSBv
dmVycmlkZTsKICAgICBib29sIGNvbnRhaW5zU3RyaW5nU2FmZUZvckRPTVRvUmVhZEZvclR5cGUo
Y29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgb3ZlcnJpZGU7CisK
KyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+IG1fcGVu
ZGluZ1Bhc3RlYm9hcmRXcml0ZUNvdW50czsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCA4ZDJiYTI2ZTQx
NGJmNWFjY2FkZTM1NjU0NjZlMjBkZDE1NzRhZWM4Li5mMWUxZDY2MGI0YzM2ZjcyZDAzMzE5ZmMw
Yjg1ZDFlM2IxYjYzNTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAg
LTMwOCw2ICszMDgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1bmJsb2NrUHJlZmVyZW5jZVNlcnZp
Y2UoU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkmJik7CiAjZW5kaWYKICAgICB2b2lkIHBv
d2VyU291cmNlRGlkQ2hhbmdlKGJvb2wpOworICAgIHZvaWQgZGlkV3JpdGVUb1Bhc3RlYm9hcmRB
c3luY2hyb25vdXNseShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKTsKICNlbmRpZgogCiAg
ICAgYm9vbCBhcmVBbGxQYWdlc1Rocm90dGxlYWJsZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBjZGEwNWI5NGZmMmFk
YjQyNDcwNTk3MjM0NDQyYWYzOTAzN2Q3YjlmLi44OTM1OTg5NTBjZjYyOTZkMGRjNGZiN2EzMjk2
YjcyODE3YzBlMjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbgpAQCAtMTc4LDQgKzE3OCw4IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3Mg
TGVnYWN5UmVjZWl2ZXIgTm90UmVmQ291bnRlZCB7CiAjaWYgUExBVEZPUk0oR1RLKSAmJiAhVVNF
KEdUSzQpCiAgICAgU2V0VXNlU3lzdGVtQXBwZWFyYW5jZUZvclNjcm9sbGJhcnMoYm9vbCB1c2VT
eXN0ZW1BcHBlYXJhbmNlRm9yU2Nyb2xsYmFycykKICNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09D
T0EpCisgICAgRGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShTdHJpbmcgcGFzdGVi
b2FyZE5hbWUpOworI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2Nv
Y29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCAxNDkwMWZiMGY2MTlhNjgxNjgwMWJmZjBjZmVm
NGI3OWQwMDQxYThjLi5hZmM2ZWViNzAzYjFmYWQ5ZDVjODZkNGM5MTg0Yzg0YWUyZmE3NmE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0KQEAgLTY0LDggKzY0LDEwIEBACiAjaW1wb3J0IDxXZWJDb3JlL0xvZ0luaXRpYWxpemF0aW9u
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL01lbW9yeVJlbGVhc2UuaD4KICNpbXBvcnQgPFdlYkNvcmUv
TlNTY3JvbGxlckltcERldGFpbHMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUGFzdGVib2FyZFN0cmF0
ZWd5Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BlcmZvcm1hbmNlTG9nZ2luZy5oPgogI2ltcG9ydCA8
V2ViQ29yZS9QaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5oPgorI2ltcG9ydCA8V2ViQ29yZS9QbGF0
Zm9ybVN0cmF0ZWdpZXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hl
Y2tzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NXQ29udGV4dE1hbmFnZXIuaD4KICNpbXBvcnQgPFdl
YkNvcmUvU3lzdGVtQmF0dGVyeS5oPgpAQCAtMTA3NSw2ICsxMDc3LDEwIEBAIHZvaWQgV2ViUHJv
Y2Vzczo6cG93ZXJTb3VyY2VEaWRDaGFuZ2UoYm9vbCBoYXNBQykKICAgICBzZXRTeXN0ZW1IYXNB
QyhoYXNBQyk7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzczo6ZGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3lu
Y2hyb25vdXNseShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQoreworICAgIHBsYXRmb3Jt
U3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+ZGlkV3JpdGVUb1Bhc3RlYm9hcmRB
c3luY2hyb25vdXNseShwYXN0ZWJvYXJkTmFtZSk7Cit9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCmluZGV4IDM2Y2QxY2FlMDBlOWM2ZWNkM2Rh
NzFkOThlMzAzMGIxMTE3MTFiMzkuLjViMGI0ZDhhNjFiMzNlYmZlZjU5YjBlNzYwOTcxN2RiMDc3
ZDA3YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCkBAIC04Miw1ICs4Miw3IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBjb250YWluc1N0cmluZ1NhZmVGb3JET01Ub1JlYWRGb3JUeXBlKGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIG92ZXJyaWRlOwogICAg
IGJvb2wgY29udGFpbnNVUkxTdHJpbmdTdWl0YWJsZUZvckxvYWRpbmcoY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkTmFtZSkgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIHVybFN0cmluZ1N1aXRhYmxlRm9y
TG9hZGluZyhjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBTdHJpbmcmIHRpdGxlKSBvdmVy
cmlkZTsKKworICAgIHZvaWQgZGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShjb25z
dCBTdHJpbmcmKSBvdmVycmlkZSB7IH0KIH07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjNmY5NmEwNmEyZmJjNTI5NDhh
MTM0MzE1M2QzNzU2OTg4OGFlOWRhLi4wNjNkMmFjY2E0MjdkNGI0NjkyYTMwOTU5NmM0NmJiMThi
NzRmYzI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTAxMSBAQAorMjAyMC0wOC0wOCAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbIGlPUyB3azIgXSBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUyMTgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTAwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEwMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMDcu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTA5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMTAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTMuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xMTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTE2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTYuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMTctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTExOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMTkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjAt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTIyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEy
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xMjUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xMjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTI3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMjguaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MjktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMxLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
MzEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xMzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTMzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTM0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM2Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTM3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xMzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDAuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE0MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE0Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xNDMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDYu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQ4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNDkuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTIuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTUuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTYtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNTguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTYxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xNjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xNjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNjcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NjgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE2OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
NzAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xNzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTczLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTc2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNzYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNzctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xNzkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODAtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0xODIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE4NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xODYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTg3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODguaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xODktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTkwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0xOTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTk0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xOTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5
OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTk5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjAxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIwMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yMDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjA2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMDcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMTAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTMuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMTctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMTkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjAtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIxLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yMjIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIyNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
MjUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yMjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjI3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjguaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMjktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjMwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yMzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjMzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjM0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIzOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjM5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDEtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI0MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yNDMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDYuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yNDctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNDkuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTIuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjU1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNTYtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU4LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNTguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYx
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0y
NjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yNjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjY2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNjgtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzAuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjcyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjczLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI3NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yNzYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNzku
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODAtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0yODIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0yODMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODUuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yODYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODguaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yODktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI4OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjkwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTEuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI5Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjk0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOTUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yOTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yOTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjk5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzAxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zMDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzA3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDcuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMDgt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTAu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zMTYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MTkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjAtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIxLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zMjIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMy
NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjUuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zMjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjguaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMjktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzMwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
MzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMzMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzM0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMzUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzM5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNDAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zNDMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDYuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzQ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNDkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTIuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zNTUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NTguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzYzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0zNjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzY3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNjgtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzAuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
NzEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzczLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zNzYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zNzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNzkuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zODIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0zODMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODUuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODYt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzg4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zODktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4
OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzkwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzkxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM5Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zOTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
OTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zOTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzk5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00MDUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDA2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MDgtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTAuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTMuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE2LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00MTYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDE4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MTkuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjAtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00MjIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00MjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
MjYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MjktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQyOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDMxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzEuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzItZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQzMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDM0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00MzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MzUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MzcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00MzgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDM5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NDAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDMu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQ1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQ2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDYuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NDctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ4Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NDkuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUx
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTIuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ1NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00NTUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NTguaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYxLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00NjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00NjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDYzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00
NjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY2Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDY3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjcuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NjgtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDcwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzAuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDczLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy00NzMuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00NzYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00NzctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDc4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDc5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NzkuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODIu
aHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00ODMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODYtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00ODguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00ODktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkw
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDkxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTEuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy00OTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDk2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OTcuaHRt
bDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00OTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDk5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy01MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTU1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTU3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTU5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTYwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy02MC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02MS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTYyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTY0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTY2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTY4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02OC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy02OS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03MC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzAuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy03MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNzIuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ni1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNzYuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ny1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
OC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTgxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctODMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTg2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctODctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTg4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg5Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTkwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy05NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Ni5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05Ny5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05OC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTk5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05OS5odG1sOiBBZGRlZC4KKwogMjAyMC0wOC0wNyAgSGVjdG9y
IExvcGV6ICA8aGVjdG9yX2lfbG9wZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFsgbWFjT1Mgd2sy
IF0gZmFzdC9mb3Jtcy9hdXRvLWZpbGwtYnV0dG9uL2NhcHMtbG9jay1pbmRpY2F0b3Itc2hvdWxk
LWJlLXZpc2libGUtYWZ0ZXItaGlkaW5nLWF1dG8tZmlsbC1zdHJvbmctcGFzc3dvcmQtYnV0dG9u
Lmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3
YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwMy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTAzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEw
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwNy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTA4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEwOS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTExLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTExLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTExMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTEyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTExMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEx
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTExNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTExNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTExNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTExOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTExOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTE5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTExOS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xMi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTEyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIxLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEy
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyMy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEy
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEy
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyNy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTI5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEyOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0xMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEz
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTEzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEz
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTMzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzMy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEz
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTEzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTEzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzNy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTEzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTEzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTM5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTEzOS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTEzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0xNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0MS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Mi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0My5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0NS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0Ny5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTQ5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE0OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Mi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTUzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ni5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE1OS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xNi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTYyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2My5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTY5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE2OS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0x
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTE3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTcxLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Mi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTczLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3My5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3NS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3Ny5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTc5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE3OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0xOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4MS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Mi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTgzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ni5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4Ny5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTg5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE4OS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0xOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMTkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMTkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5MS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTE5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTkzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTE5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMTk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMTk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5NS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMTk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTE5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTE5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMTk4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTE5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMTk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MTk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTE5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTE5OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEw
ZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMz
YTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjAz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwNy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIw
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjA5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIwOS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yMS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTIxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjExLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxMy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIx
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIxOS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0yMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTIyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyMy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIy
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyNy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjI5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIyOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy0yMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjMzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTIzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTIzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTIzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzNy5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTIzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIzOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjM5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTIz
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTIzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0MS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Mi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0My5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0Ny5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjQ4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI0OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjUyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ni5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI1OS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yNi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTI2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYxLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2My5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ni1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI2
OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy0yNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTI3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Mi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3My5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3Ny5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjc5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI3OS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjguaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0yOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MjgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4MS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Mi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjgzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ni5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjg5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0yOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMjkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5MS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTI5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5My1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjkzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTI5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMjk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMjk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMjk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ni5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTI5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMjk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMjk4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTI5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMjk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMjk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTI5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTI5OS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy0zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4
NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy0zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3
NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzAyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMw
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzA5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMwOS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zMS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTMxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzExLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzEzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxMy5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMx
NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE2Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxNy5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzE5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMxOS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMxOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy0zMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMy
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTMyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMy
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzIzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyMy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMy
My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI1Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI3LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyNy5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMyOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzI5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMyOS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy0zMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMz
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMz
Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzMzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTMzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTMzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzNy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTMzNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTMzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzM5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTMzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTMzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0MS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0
MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Mi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQzLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ni5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM0Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ3Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0Ny5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM0OS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zNS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1
MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1
MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUxLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzUyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1My5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM1NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzU5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM1OS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0z
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTM2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYxLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Mi5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzYzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2My5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM2NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2NS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2Ny5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzY5Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM2OS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy0zNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcwLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3MS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzcyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Mi5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzczLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3My5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM3My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc1
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ni5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc3LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3Ny5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc4Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzc5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM3OS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctMzgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgxLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4MS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Mi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM4Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzgzLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4My5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4NS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg3Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4Ny5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzg4Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM4OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy0zOS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkwLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctMzkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTM5MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
MzkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkyLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Mi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTM5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzkz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctMzk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctMzk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk2Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTM5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctMzk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5Ny5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTM5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctMzk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
Mzk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTM5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5
OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctMzk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctMzk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTM5OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy00LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3Zjky
MDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3
ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00MC5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3
MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAxLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQwMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwMy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQwNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQwNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDA3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQw
OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQwOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDA5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQwOS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy00MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEwLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQxMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDEyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMi5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDEzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxMy5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE0Lmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQxNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDE1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQxNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDE2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQx
Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDE3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxNy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQxOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDE5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQxOS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQxOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy00Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFh
N2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDIxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQyMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDIyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQyMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDIzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQyMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQyNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDI1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDI1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDI2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQyNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyNy5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI4Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQyOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQyOS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDI5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDI5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQy
OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQyOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2Ex
MGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDMwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdl
NzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDMxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQzMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMyLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQzMi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDMzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDMzLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzMy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQzMy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDM0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDM0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDM1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM3Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQzNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDM4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDM4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQz
OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQzOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDM5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDM5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQzOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQzOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5
MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDQwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYz
YTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQxLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0MS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ0MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQyLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Mi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ0Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDQzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0NS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ2Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ni5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ0Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ3Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0
Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ0Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDQ4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ0OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ0OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDQ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ0OS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjEx
YzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUwLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ1MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUxLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ1MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDUyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDUzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1My5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ1NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ1Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDU3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDU3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ1Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ1OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDU4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ1OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDU5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1OS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ1
OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy00Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYwLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTQ2MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDYxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ2MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDYyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Mi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDYzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2My5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ2NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ2NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2NS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ2NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDY2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDY2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ2Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDY3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2Ny5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ2OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDY5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ2OS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ2OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy00Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NDcwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2Ey
YTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDcxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3MS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDcyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Mi5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDczLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3My5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ3My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ3NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDc1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDc1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDc2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ni5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ3Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc3Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3Ny5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ3OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDc5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ3OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ3OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZm
Y2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNDgwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0
ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4MS5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgyLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Mi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ4Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4My1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDgzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ4My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDg1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg2Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ni5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4Ny5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ4Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDg4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDg4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ4OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDg5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ4OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ4OS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy00OS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5MC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThh
N2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkwLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJk
YTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkxLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTQ5MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDkyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTQ5Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVm
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNDkzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5My5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEz
M2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0
ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNDk0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhm
Nzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3
NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk1Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5NS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5
NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5
NS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMw
M2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ni5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTQ5Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNDk3LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTQ5Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2Iw
ZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQz
ODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNDk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNDk4Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTQ5OC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3
MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTQ5OS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2EzNjExYzQ3MjM3NThhN2Y5MjA3
OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNDk5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNDk5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGJkYTYzYTQy
NjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTQ5OS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1
OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNh
NDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTUwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNTAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01MC5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTUwMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMwM2Ez
NjExYzQ3MjM3NThhN2Y5MjA3OGU0ODZmY2ExMGQzODVmYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTAwLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUwMC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY5NGJkYTYzYTQyNjhmNzg0ZDdlNzQ3MzEzM2EyYTFhN2IwZmU0M2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTUwMC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTEuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy01MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTItZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTIuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy01Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTUzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTU0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01NS5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ni5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU3LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01Ny5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTU4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU4LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTguaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy01
OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTU5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTU5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNTkuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy01OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNi5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTYwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTYwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjAuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy02MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTYxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTYxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy02MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTYyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTYzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02My5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctNjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02NS5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNjYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ni5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTY3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctNjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY3LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy02Ny5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTY4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctNjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy02OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTY5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTY5
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNjkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy02OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNy5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctNy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTcwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTcwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzAuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy03MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTcxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzEuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy03MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTczLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03My5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
NzQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NC5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctNzUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc1LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03NS5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctNzYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc2LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03Ni5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTc3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctNzctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc3LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy03
Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTc4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTc4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy03OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTc5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTc5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctNzkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy03OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOC5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTgwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy04MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTgxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAg
aXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNm
ZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0i
I2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODEu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdi
MGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgewor
ICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2Rl
LmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3Jp
Z2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0
YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKwor
ICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1
cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICIn
IiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwg
IkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88
YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rp
dj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9p
PjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1c
InRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48
Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4
dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVs
bG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxp
PndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTgyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29y
bGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRN
YXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29s
b3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Jwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNh
MmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1
cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAg
ICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJr
dXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFt
ZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0
YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2Rl
KTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0
QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1l
ZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1
cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhl
bGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAi
SGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndv
cmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBz
dHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAw
MDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxl
PVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+
PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwi
PjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNh
MTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTgzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88
YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25m
aXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZv
bnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0
NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04My5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxl
Y3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwor
dmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUs
IG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1l
KTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwg
PSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUo
dGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVh
dGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGls
ZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
U2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNv
bmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1l
ZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29y
bGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2Pjxi
PjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1c
IiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2
IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAw
XCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2Zm
MDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJu
b25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmctODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhl
NDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFT
UyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxk
aXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rp
dj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4
NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NC5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlz
IHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2Ft
ZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlv
bigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRh
Z05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5l
ckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5
UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUg
PSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBl
bmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKwor
ICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNv
bmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88
YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4i
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48
ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj
b2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIs
ICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIj
ZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9y
PVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4i
LCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0
LW5lc3RpbmctODUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdm
OTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9u
dD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+
PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0
MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04NS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0
aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNl
bGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRh
YmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9k
ZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFy
IG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9v
dC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNl
KTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxk
QmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENv
cHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
SGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48
L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48
Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2Pjwv
ZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29s
b3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250
IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3
bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTg2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctODYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIz
NzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246
IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9i
PjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBP
bmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRi
ZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy04Ni5o
dG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUg
b3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50
LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290
Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0
ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7Cisg
ICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0
aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7Cisg
ICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIs
IGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAg
c2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwor
dGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUo
ImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9p
PjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250Pjwv
ZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZv
bnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2
Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5M
aW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTg3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS13aXRob3V0LW5lc3RpbmctODctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYx
MWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg3LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8
L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+
TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGlu
Zy04Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQg
cGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZz
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9u
IGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRy
dWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisK
K2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVk
KSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1
cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQ
YXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOwor
CisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsK
K30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5
UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhl
bGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtc
Ij48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9m
b250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxk
aXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rp
dj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+
PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMx
MDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisK
K3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0
aG91dC1uZXN0aW5nLTg4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
MDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTg4
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53
b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+
d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy04OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlv
biBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3Rl
ZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNl
bCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1
bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJs
ZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4
cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5h
bE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMo
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJI
VE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsg
IiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rl
c3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pjxi
PjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAi
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNl
bnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48
L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVy
O1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9u
dD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48
L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8
L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtd2l0aG91dC1uZXN0aW5nLTg5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTg5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48
Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+
PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctODkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdp
dGhvdXQtbmVzdGluZy04OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMzAzYTM2MTFjNDcyMzc1OGE3ZjkyMDc4ZTQ4NmZjYTEwZDM4NWZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQt
bmVzdGluZy05LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjk0YmRhNjNhNDI2OGY3ODRkN2U3NDczMTMzYTJhMWE3YjBmZTQzYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13
aXRob3V0LW5lc3RpbmctOS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNl
bGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRl
IG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwor
dmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOwor
CisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBu
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRF
ZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJr
dXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBv
cmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUu
Zm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOwor
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUu
aW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVj
dGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQi
KTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2
PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rp
dj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxp
Z246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3Js
ZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjog
Y2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9i
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9p
PjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGlu
ZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTkwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+
PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMg
JzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAw
MDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2Zm
MDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTAuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZl
NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bh
c3RlLXdpdGhvdXQtbmVzdGluZy05MC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29w
eSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJv
b3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAg
IHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNv
bnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAg
cmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2lu
YWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdO
YW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAg
IG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFs
c2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9
IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiAr
IGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhl
bGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+
d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3Js
ZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4i
LCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwv
Yj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRl
eHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhl
bGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48
aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1h
bGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndv
cmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAi
PHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTEtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTkxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQn
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+
PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJr
dXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9
IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmEx
YTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05MS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRo
YXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9l
cyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkg
eworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBu
b2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7
CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwg
b3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJs
ZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsK
KworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxs
IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1h
cmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIs
ICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxv
IiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVs
bG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRp
dj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48
L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxk
PC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHls
ZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBc
Ij48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwi
dGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxi
PjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJk
aXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBk
Mzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTkyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+
d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwv
aT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJt
ZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQg
Y29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+
JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTIuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMx
MzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05Mi5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rp
b24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFy
IHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1h
cmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsK
KyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBt
YXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFn
TmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVF
ZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChu
b2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2Vs
ZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZp
cm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1h
cmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2Iiwg
IkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQi
LCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9k
aXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIp
OwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8
L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxp
PndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRp
diBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNm
ZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0
eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+
PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAw
MFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBh
c3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25l
IjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rpbmct
OTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2
ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTkzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVs
bG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5I
ZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBj
b25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+
PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48
L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBU
d288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3
ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05My5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBz
ZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigp
OwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05h
bWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdO
YW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhU
TUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFz
dGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBj
cmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iiwg
ZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAg
IGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZp
cm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgi
ZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+
d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2Pkhl
bGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+
d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2
PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9k
aXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xv
cj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8
ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYw
MDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwi
I2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0
Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAi
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9
ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5l
c3RpbmctOTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIw
NzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgor
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48
Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Jwor
UEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsi
PjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48
L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+
TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4
Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUg
c2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVj
dGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxl
KHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5p
bm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RD
b3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5v
ZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5h
cHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJD
b3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsK
KworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUo
ImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQ
YXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVs
bG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8
ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53
b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2
PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rp
dj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rp
dj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48
L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u
dCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2
PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9
XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNv
bG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7
Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwv
cD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRo
b3V0LW5lc3RpbmctOTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4
YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9k
aXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNl
bnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwv
Zm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8
L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2
M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05NS5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3Zl
ciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJyb290Iik7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNyZWF0ZUVk
aXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7CisgICAg
bm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7CisgICAg
dmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7CisgICAg
cm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZh
bHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisgICAgc2hv
dWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30KKwordGVz
dENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3RlKCJkaXYi
LCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRp
diIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+
PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxs
bzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29y
bGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwv
Yj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRp
dj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250PjwvZGl2
PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+PGZvbnQg
Y29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxm
b250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9k
aXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5l
IFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0
aW5nLTk2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS13aXRob3V0LW5lc3RpbmctOTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNhMzYxMWM0
NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBp
cyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48
L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRleHQtYWxp
Z246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29ybGQ8L2k+
PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPHA+TGlu
ZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy05
Ni5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFz
dGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9IGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJy
b290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0aW9uIGNy
ZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9IHRydWU7
CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVjdGVkKSB7
CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1hcmt1cCk7
CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsKKyAgICBk
b2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0
ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1MOworCisg
ICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIiciKTsKK30K
KwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29weVBhc3Rl
KCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RDb3B5UGFz
dGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2PkhlbGxv
PC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxkaXY+PGRp
dj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwvZGl2Pjxk
aXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxpPkhlbGxv
PC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRpdj48Yj48
aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+Iik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+PC9mb250
PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxkaXY+
PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48L2Rpdj48
ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2ZvbnQ+PC9k
aXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+JiMxMDs8
cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7CisKK3Jv
b3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91
dC1uZXN0aW5nLTk3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzMDNh
MzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLTk3LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1h
cmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3Js
ZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+PGk+d29y
bGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
PHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVz
dGluZy05Ny5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVjdGlvbiBh
bmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBk
aXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHNlbCA9
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisKK2Z1bmN0
aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAsIGV4cGVj
dGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmlnaW5hbE1h
cmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9jdXMoKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAgIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5uZXJIVE1M
OworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVkICsgIici
KTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0ZXN0Q29w
eVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsKK3Rlc3RD
b3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIsICI8ZGl2
PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIjxk
aXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5IZWxsbzwv
ZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PjxiPjxp
PkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4iLCAiPGRp
dj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRl
cjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwvaT48L2I+
PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wi
PjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwvZm9udD48
L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwvYj48L2Zv
bnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBPbmU8L3A+
JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+Iik7
CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
d2l0aG91dC1uZXN0aW5nLTk4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1uZXN0aW5n
LTk4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBu
b3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG8n
CitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNvbmZp
cm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48
aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxkaXYgc3R5
bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAiPjxiPjxp
PmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAwMCI+PGI+
PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1lZE1hcmt1
cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhv
dXQtbmVzdGluZy05OC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBhIHNlbGVj
dGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3JlYXRlIG5l
c3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKwordmFy
IHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpOworCisK
K2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZhciBub2Rl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRlbnRFZGl0
YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxNYXJrdXAs
IGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1lLCBvcmln
aW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5vZGUuZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2UpOworICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5vZGUuaW5u
ZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4cGVjdGVk
ICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxvIik7Cit0
ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29ybGQiKTsK
K3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIs
ICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0ZSgiZGl2
IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAiPGRpdj5I
ZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2
PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48L2Rpdj4i
LCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwvaT48L2I+
PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQtYWxpZ246
IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxvPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53b3JsZDwv
aT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2Vu
dGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+PC9iPjwv
Zm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxkPC9pPjwv
Yj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+TGluZSBP
bmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288
L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
cGFzdGUtd2l0aG91dC1uZXN0aW5nLTk5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzMDNhMzYxMWM0NzIzNzU4YTdmOTIwNzhlNDg2ZmNhMTBkMzg1ZmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtd2l0aG91dC1u
ZXN0aW5nLTk5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgY29weSBhIHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24g
ZG9lcyBub3QgY3JlYXRlIG5lc3RlZCBkaXZzLgorCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAn
SGVsbG8nCitQQVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnSGVsbG88YnI+d29ybGQnCitQQVNTIGNv
bmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQQVNT
IGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4nCitQ
QVNTIGNvbmZpcm1lZE1hcmt1cCBpcyAnPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRp
dj48Yj48aT53b3JsZDwvaT48L2I+PC9kaXY+JworUEFTUyBjb25maXJtZWRNYXJrdXAgaXMgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXY+PGZvbnQgY29sb3I9IiNmZjAwMDAi
PjxiPjxpPmhlbGxvPC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iI2ZmMDAw
MCI+PGI+PGk+d29ybGQ8L2k+PC9iPjwvZm9udD48L2Rpdj48L2Rpdj4nCitQQVNTIGNvbmZpcm1l
ZE1hcmt1cCBpcyAnPHA+TGluZSBPbmU8L3A+PHA+TGluZSBUd288L3A+JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTkuaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmctOTku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTRiZGE2M2E0MjY4Zjc4NGQ3ZTc0NzMxMzNhMmExYTdiMGZlNDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3Rl
LXdpdGhvdXQtbmVzdGluZy05OS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgY29weSBh
IHNlbGVjdGlvbiBhbmQgcGFzdGUgb3ZlciB0aGUgc2FtZSBzZWxlY3Rpb24gZG9lcyBub3QgY3Jl
YXRlIG5lc3RlZCBkaXZzLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KwordmFyIHNlbCA9IGRvY3VtZW50LmdldFNlbGVjdGlvbigpOwordmFyIHJvb3QgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJyb290Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3Qp
OworCisKK2Z1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlKHRhZ05hbWUsIG1hcmt1cCkgeworICAgIHZh
ciBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBub2RlLmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgbm9kZS5pbm5lckhUTUwgPSBtYXJrdXA7CisgICAgcmV0
dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5UGFzdGUodGFnTmFtZSwgb3JpZ2luYWxN
YXJrdXAsIGV4cGVjdGVkKSB7CisgICAgdmFyIG5vZGUgPSBjcmVhdGVFZGl0YWJsZSh0YWdOYW1l
LCBvcmlnaW5hbE1hcmt1cCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZChub2RlKTsKKworICAgIG5v
ZGUuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIiwgZmFsc2Up
OworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5IiwgZmFsc2UpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCJQYXN0ZSIsIGZhbHNlKTsKKworICAgIGNvbmZpcm1lZE1hcmt1cCA9IG5v
ZGUuaW5uZXJIVE1MOworCisgICAgc2hvdWxkQmUoImNvbmZpcm1lZE1hcmt1cCIsICInIiArIGV4
cGVjdGVkICsgIiciKTsKK30KKwordGVzdENvcHlQYXN0ZSgiZGl2IiwgIkhlbGxvIiwgIkhlbGxv
Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiSGVsbG88YnI+d29ybGQiLCAiSGVsbG88YnI+d29y
bGQiKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwv
ZGl2PiIsICI8ZGl2PkhlbGxvPC9kaXY+PGRpdj53b3JsZDwvZGl2PiIpOwordGVzdENvcHlQYXN0
ZSgiZGl2IiwgIjxkaXY+PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj48L2Rpdj4iLCAi
PGRpdj5IZWxsbzwvZGl2PjxkaXY+d29ybGQ8L2Rpdj4iKTsKK3Rlc3RDb3B5UGFzdGUoImRpdiIs
ICI8ZGl2PjxiPjxpPkhlbGxvPC9pPjwvYj48L2Rpdj48ZGl2PjxiPjxpPndvcmxkPC9pPjwvYj48
L2Rpdj4iLCAiPGRpdj48Yj48aT5IZWxsbzwvaT48L2I+PC9kaXY+PGRpdj48Yj48aT53b3JsZDwv
aT48L2I+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPGRpdiBzdHlsZT1cInRleHQt
YWxpZ246IGNlbnRlcjtcIj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPmhlbGxv
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj1cIiNmZjAwMDBcIj48Yj48aT53
b3JsZDwvaT48L2I+PC9mb250PjwvZGl2PjwvZGl2PiIsICI8ZGl2IHN0eWxlPVwidGV4dC1hbGln
bjogY2VudGVyO1wiPjxkaXY+PGZvbnQgY29sb3I9XCIjZmYwMDAwXCI+PGI+PGk+aGVsbG88L2k+
PC9iPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNvbG9yPVwiI2ZmMDAwMFwiPjxiPjxpPndvcmxk
PC9pPjwvYj48L2ZvbnQ+PC9kaXY+PC9kaXY+Iik7Cit0ZXN0Q29weVBhc3RlKCJkaXYiLCAiPHA+
TGluZSBPbmU8L3A+JiMxMDs8cD5MaW5lIFR3bzwvcD4iLCAiPHA+TGluZSBPbmU8L3A+PHA+TGlu
ZSBUd288L3A+Iik7CisKK3Jvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406259</attachid>
            <date>2020-08-08 14:01:05 -0700</date>
            <delta_ts>2020-08-08 14:36:48 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-215218-20200808140104.patch</filename>
            <type>text/plain</type>
            <size>12545</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk1M2NkODk1NzNhMThhZmY2
OTE3YzgwMTllNWEyNTdjMzEwZjRkNzAuLmI0MDYyMmNjNGU3ODU3YmUxYjI0NmExM2Q4NTdmNDMy
NzAyYzliZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTQgQEAKKzIwMjAtMDgtMDggIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgWyBpT1Mgd2syIF0gZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sIGlzIGEgZmxha3kgZmFp
bHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1
MjE4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NjYyODQ5Mz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHRlc3Qgd3JpdGVzIHRvIHRoZSBz
eXN0ZW0gcGFzdGVib2FyZCB1c2luZyBgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiKWAsIGFu
ZCB0aGVuIGltbWVkaWF0ZWx5IHJlYWRzIGZyb20KKyAgICAgICAgdGhlIHN5c3RlbSBwYXN0ZWJv
YXJkIGJ5IHRyaWdnZXJpbmcgYGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIpYC4gT24gcmFy
ZSBvY2Nhc2lvbnMsIHRoaXMgZmFpbHMgb24gaU9TLCB3aGVyZQorICAgICAgICBJUEMgbWVzc2Fn
ZXMgZm9yIHdyaXRpbmcgY29udGVudCB0byB0aGUgcGFzdGVib2FyZCAoZS5nLiBgV2ViUGFzdGVi
b2FyZFByb3h5OjpXcml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmRgKSBhcmUKKyAgICAgICAgYXN5
bmNocm9ub3VzLCBidXQgdGhlIElQQyBtZXNzYWdlIHRvIGdldCB0aGUgcGFzdGVib2FyZCBjaGFu
Z2UgY291bnQgYmVmb3JlIHBhc3RpbmcgKGBHZXRQYXN0ZWJvYXJkQ2hhbmdlQ291bnRgKQorICAg
ICAgICBpcyBzeW5jaHJvbm91cy4gVGhpcyBtZWFucyB0aGF0IGBDb25uZWN0aW9uYCBtYXkgZW5k
IHVwIGRpc3BhdGNoaW5nIHRoZSBzeW5jIGBHZXRQYXN0ZWJvYXJkQ2hhbmdlQ291bnRgIElQQwor
ICAgICAgICBtZXNzYWdlIGJlZm9yZSBkaXNwYXRjaGluZyBgV3JpdGVXZWJDb250ZW50VG9QYXN0
ZWJvYXJkYCwgd2hpY2ggY2F1c2VzIHRoZSBwYXN0ZWJvYXJkIHJlYWQgdG8gZmFpbCwgYmVjYXVz
ZSB0aGUKKyAgICAgICAgY29udGVudHMgb24gdGhlIHBhc3RlYm9hcmQgaGF2ZSBjaGFuZ2VkIGFm
dGVyIHN0YXJ0aW5nIHRvIHJlYWQgZnJvbSB0aGUgcGFzdGVib2FyZC4KKworICAgICAgICBOb3Rl
IHRoYXQgdGhpcyBpcyBub3QgYSBwcm9ibGVtIG9uIG1hY09TIHNpbmNlIGFsbCBwYXN0ZWJvYXJk
IHdyaXRpbmcgSVBDIGlzIHN5bmNocm9ub3VzLiBJbnN0ZWFkIG9mIHR1cm5pbmcgYWxsCisgICAg
ICAgIG9mIHRoZSBhc3luYyBpT1MgcGFzdGVib2FyZCB3cml0aW5nIG1lc3NhZ2VzIHN5bmNocm9u
b3VzIGFzIHdlbGwsIHdlIGNhbiBmaXggdGhpcyBieSBhZGRpbmcgYSBtZWNoYW5pc20gaW4KKyAg
ICAgICAgYFdlYlByb2Nlc3NgIHRvIGtlZXAgdHJhY2sgb2Ygb3V0Z29pbmcgYXN5bmMgcGFzdGVi
b2FyZCB3cml0ZSBtZXNzYWdlczsgdGhlbiwgYmVmb3JlIGF0dGVtcHRpbmcgdG8gZ3JhYiB0aGUK
KyAgICAgICAgY2hhbmdlIGNvdW50IHdoZW4gd2Ugc3RhcnQgcmVhZGluZywgd2FpdCBmb3IgYW55
IG9mIHRoZXNlIHBlbmRpbmcgYXN5bmMgd3JpdGVzIHRvIGZpbmlzaCBiZWZvcmUgd2UgY29udGlu
dWUuCisKKyAgICAgICAgSW4gYSBmdXR1cmUgcGF0Y2gsIHdlIGNvdWxkIGFjdHVhbGx5IGFkb3B0
IHRoaXMgc2FtZSBtZWNoYW5pc20gaW4gYFNldFBhc3RlYm9hcmRUeXBlc2AgYW5kIG5laWdoYm9y
aW5nIElQQworICAgICAgICBtZXNzYWdlcyB0byB0dXJuIHRoZXNlIGFsbCBhc3luY2hyb25vdXMu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVVUkxUb1Bhc3RlYm9h
cmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlV2ViQ29udGVu
dFRvUGFzdGVib2FyZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhc3RlYm9hcmRQcm94eTo6d3Jp
dGVJbWFnZVRvUGFzdGVib2FyZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhc3RlYm9hcmRQcm94
eTo6d3JpdGVTdHJpbmdUb1Bhc3RlYm9hcmQpOgorCisgICAgICAgIENhbGwgYGRpZFdyaXRlVG9Q
YXN0ZWJvYXJkQXN5bmNocm9ub3VzbHlgIGFmdGVyIHdlIGZpbmlzaCB3cml0aW5nIHRvIHRoZSBw
YXN0ZWJvYXJkIGFzeW5jaHJvbm91c2x5LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXM6OmNoYW5nZUNvdW50KToKKworICAgICAgICBCZWZvcmUgYWNjZXNz
aW5nIGNoYW5nZUNvdW50LCB3YWl0IHVudGlsIGFueSBhc3luY2hyb25vdXMgY2FsbHMgdG8gd3Jp
dGUgdG8gdGhlIHN5c3RlbSBwYXN0ZWJvYXJkIGhhdmUgZmluaXNoZWQuCisKKyAgICAgICAgKFdl
YktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZCk6CisKKyAgICAg
ICAgUmlnaHQgYmVmb3JlIHdlIHNlbmQgYW4gYXN5bmMgbWVzc2FnZSB0byB0aGUgVUkgcHJvY2Vz
cyB0byB3cml0ZSB0byB0aGUgc3lzdGVtIHBhc3RlYm9hcmQsIG5vdGlmeSBgV2ViUHJvY2Vzc2AK
KyAgICAgICAgc28gdGhhdCBpdCBjYW4ga2VlcCB0cmFjayBvZiBwZW5kaW5nIGNsaXBib2FyZCB3
cml0ZXMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9j
b2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6Ondp
bGxXcml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6ZGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3M6OndhaXRGb3JQZW5kaW5nUGFzdGVib2FyZFdyaXRlc1RvRmluaXNo
KToKKworICAgICAgICBXYWl0IGZvciBhIG1heGltdW0gb2YgMSBzZWNvbmQgZm9yIGFueSBvdXRn
b2luZyBwYXN0ZWJvYXJkIHdyaXRpbmcgbWVzc2FnZXMgdG8gcmV0dXJuIHRvIHRoZSB3ZWIgcHJv
Y2Vzcy4KKwogMjAyMC0wOC0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIGJhc2VMYXRlbmN5IGF0dHJpYnV0ZSBpcyBtaXNzaW5nIG9uIEF1ZGlvQ29udGV4dCBp
bnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBh
c3RlYm9hcmRQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UGFzdGVib2FyZFByb3h5Q29jb2EubW0KaW5kZXggMTg3MGViYzQxNDFiNmJkOGRjMTcwNTEyNzFj
NmUyNWJhZjhjZmVlZS4uYzQzOTIyMjk3NDIyNTk0OWM0NTBhNjdiOTRiYThlMTYxYWVjODhiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFBy
b3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVi
b2FyZFByb3h5Q29jb2EubW0KQEAgLTMwLDYgKzMwLDcgQEAKICNpbXBvcnQgIlNhbmRib3hFeHRl
bnNpb24uaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCAiV2ViUHJlZmVyZW5j
ZXMuaCIKKyNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vz
c1Byb3h5LmgiCiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Bh
c3RlYm9hcmQuaD4KQEAgLTQ1Myw2ICs0NTQsOCBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6
d3JpdGVVUkxUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdAog
ICAgIGF1dG8gcHJldmlvdXNDaGFuZ2VDb3VudCA9IFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJv
YXJkTmFtZSkuY2hhbmdlQ291bnQoKTsKICAgICBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2Fy
ZE5hbWUpLndyaXRlKHVybCk7CiAgICAgZGlkTW9kaWZ5Q29udGVudHNPZlBhc3RlYm9hcmQoY29u
bmVjdGlvbiwgcGFzdGVib2FyZE5hbWUsIHByZXZpb3VzQ2hhbmdlQ291bnQsIFBsYXRmb3JtUGFz
dGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKSk7CisgICAgaWYgKGF1dG8qIHBy
b2Nlc3MgPSB3ZWJQcm9jZXNzUHJveHlGb3JDb25uZWN0aW9uKGNvbm5lY3Rpb24pKQorICAgICAg
ICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpEaWRXcml0ZVRvUGFzdGVib2Fy
ZEFzeW5jaHJvbm91c2x5KHBhc3RlYm9hcmROYW1lKSwgMCk7CiB9CiAKIHZvaWQgV2ViUGFzdGVi
b2FyZFByb3h5Ojp3cml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkV2ViQ29udGVudCYgY29udGVudCwg
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKQEAgLTQ2Miw2ICs0NjUsOCBAQCB2b2lkIFdl
YlBhc3RlYm9hcmRQcm94eTo6d3JpdGVXZWJDb250ZW50VG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbgogICAgIGF1dG8gcHJldmlvdXNDaGFuZ2VDb3VudCA9IFBsYXRmb3Jt
UGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKTsKICAgICBQbGF0Zm9ybVBh
c3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLndyaXRlKGNvbnRlbnQpOwogICAgIGRpZE1vZGlmeUNv
bnRlbnRzT2ZQYXN0ZWJvYXJkKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lLCBwcmV2aW91c0No
YW5nZUNvdW50LCBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLmNoYW5nZUNvdW50
KCkpOworICAgIGlmIChhdXRvKiBwcm9jZXNzID0gd2ViUHJvY2Vzc1Byb3h5Rm9yQ29ubmVjdGlv
bihjb25uZWN0aW9uKSkKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vz
czo6RGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShwYXN0ZWJvYXJkTmFtZSksIDAp
OwogfQogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVJbWFnZVRvUGFzdGVib2FyZChJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRJbWFn
ZSYgcGFzdGVib2FyZEltYWdlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQpAQCAtNDcx
LDYgKzQ3Niw4IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUltYWdlVG9QYXN0ZWJv
YXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uCiAgICAgYXV0byBwcmV2aW91c0No
YW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3Vu
dCgpOwogICAgIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkud3JpdGUocGFzdGVi
b2FyZEltYWdlKTsKICAgICBkaWRNb2RpZnlDb250ZW50c09mUGFzdGVib2FyZChjb25uZWN0aW9u
LCBwYXN0ZWJvYXJkTmFtZSwgcHJldmlvdXNDaGFuZ2VDb3VudCwgUGxhdGZvcm1QYXN0ZWJvYXJk
KHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpKTsKKyAgICBpZiAoYXV0byogcHJvY2VzcyA9
IHdlYlByb2Nlc3NQcm94eUZvckNvbm5lY3Rpb24oY29ubmVjdGlvbikpCisgICAgICAgIHByb2Nl
c3MtPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkRpZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNo
cm9ub3VzbHkocGFzdGVib2FyZE5hbWUpLCAwKTsKIH0KIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJv
eHk6OndyaXRlU3RyaW5nVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwg
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmROYW1lKQpAQCAtNDgxLDYgKzQ4OCw4IEBAIHZvaWQgV2ViUGFzdGVi
b2FyZFByb3h5Ojp3cml0ZVN0cmluZ1RvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24sIGNvCiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJv
YXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwogICAgIFBsYXRmb3JtUGFzdGVib2Fy
ZChwYXN0ZWJvYXJkTmFtZSkud3JpdGUocGFzdGVib2FyZFR5cGUsIHRleHQpOwogICAgIGRpZE1v
ZGlmeUNvbnRlbnRzT2ZQYXN0ZWJvYXJkKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lLCBwcmV2
aW91c0NoYW5nZUNvdW50LCBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLmNoYW5n
ZUNvdW50KCkpOworICAgIGlmIChhdXRvKiBwcm9jZXNzID0gd2ViUHJvY2Vzc1Byb3h5Rm9yQ29u
bmVjdGlvbihjb25uZWN0aW9uKSkKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2Vi
UHJvY2Vzczo6RGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShwYXN0ZWJvYXJkTmFt
ZSksIDApOwogfQogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6dXBkYXRlU3VwcG9ydGVkVHlw
ZUlkZW50aWZpZXJzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBpZGVudGlmaWVycywgY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkTmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKaW5k
ZXggMzkwNGJlZjc4MWE2ZDE0OTBmOGRiN2U4MTMzZmVjNmE1MWI2ZGUxYS4uNTI4ZmE0N2IxZmEx
OWZjY2Q5ZjQyNzM4YjRkZWI4YTkyMDFjOTI0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRl
Z2llcy5jcHAKQEAgLTE3MCw2ICsxNzAsNyBAQCBWZWN0b3I8U3RyaW5nPiBXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXM6OmFsbFN0cmluZ3NGb3JUeXBlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZAogaW50
NjRfdCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNoYW5nZUNvdW50KGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZE5hbWUpCiB7CiAgICAgaW50NjRfdCBjaGFuZ2VDb3VudCB7IDAgfTsKKyAgICBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS53YWl0Rm9yUGVuZGluZ1Bhc3RlYm9hcmRXcml0ZXNUb0Zpbmlz
aChwYXN0ZWJvYXJkTmFtZSk7CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJv
Y2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6
R2V0UGFzdGVib2FyZENoYW5nZUNvdW50KHBhc3RlYm9hcmROYW1lKSwgTWVzc2FnZXM6OldlYlBh
c3RlYm9hcmRQcm94eTo6R2V0UGFzdGVib2FyZENoYW5nZUNvdW50OjpSZXBseShjaGFuZ2VDb3Vu
dCksIDApOwogICAgIHJldHVybiBjaGFuZ2VDb3VudDsKIH0KQEAgLTI2NSwyMSArMjY2LDI1IEBA
IFN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnVybFN0cmluZ1N1aXRhYmxlRm9yTG9hZGlu
Zyhjb25zdCBTdHJpbmcmIHBhc3RlYm9hCiAKIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3
cml0ZVRvUGFzdGVib2FyZChjb25zdCBQYXN0ZWJvYXJkVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUpCiB7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2lsbFdyaXRl
VG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkocGFzdGVib2FyZE5hbWUpOwogICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6
OldlYlBhc3RlYm9hcmRQcm94eTo6V3JpdGVVUkxUb1Bhc3RlYm9hcmQodXJsLCBwYXN0ZWJvYXJk
TmFtZSksIDApOwogfQogCiB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6d3JpdGVUb1Bhc3Rl
Ym9hcmQoY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZFdlYkNvbnRlbnQmIGNvbnRlbnQsIGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCku
d2lsbFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkocGFzdGVib2FyZE5hbWUpOwogICAg
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQo
TWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6V3JpdGVXZWJDb250ZW50VG9QYXN0ZWJvYXJk
KGNvbnRlbnQsIHBhc3RlYm9hcmROYW1lKSwgMCk7CiB9CiAKIHZvaWQgV2ViUGxhdGZvcm1TdHJh
dGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkSW1hZ2Um
IGltYWdlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQogeworICAgIFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLndpbGxXcml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KHBhc3RlYm9h
cmROYW1lKTsKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVj
dGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OldyaXRlSW1hZ2VUb1Bh
c3RlYm9hcmQoaW1hZ2UsIHBhc3RlYm9hcmROYW1lKSwgMCk7CiB9CiAKIHZvaWQgV2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRU
eXBlLCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7
CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2lsbFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNo
cm9ub3VzbHkocGFzdGVib2FyZE5hbWUpOwogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBh
cmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94
eTo6V3JpdGVTdHJpbmdUb1Bhc3RlYm9hcmQocGFzdGVib2FyZFR5cGUsIHRleHQsIHBhc3RlYm9h
cmROYW1lKSwgMCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4
IDhkMmJhMjZlNDE0YmY1YWNjYWRlMzU2NTQ2NmUyMGRkMTU3NGFlYzguLmNiNTkyZGJiYjI2NmUy
ZGFlZWRmMTEwZGZiZWVkODNjMzRjNjMwMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaApAQCAtMzM0LDYgKzMzNCwxMiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGVuYWJsZVZQ
OURlY29kZXIoKTsKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgd2lsbFdyaXRlVG9Q
YXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSk7Cisg
ICAgdm9pZCB3YWl0Rm9yUGVuZGluZ1Bhc3RlYm9hcmRXcml0ZXNUb0ZpbmlzaChjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lKTsKKyAgICB2b2lkIGRpZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNo
cm9ub3VzbHkoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSk7CisjZW5kaWYKKwogcHJpdmF0
ZToKICAgICBXZWJQcm9jZXNzKCk7CiAgICAgfldlYlByb2Nlc3MoKTsKQEAgLTY0OCw2ICs2NTQs
MTAgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9hc3NldFNlcnZp
Y2VWMkV4dGVuc2lvbjsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgSGFzaE1h
cDxTdHJpbmcsIHVuc2lnbmVkPiBtX3BlbmRpbmdQYXN0ZWJvYXJkV3JpdGVDb3VudHM7CisjZW5k
aWYKKwogICAgIGJvb2wgbV91c2VHUFVQcm9jZXNzRm9yTWVkaWEgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV92cDlEZWNvZGVyRW5hYmxlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBjZGEwNWI5NGZmMmFkYjQy
NDcwNTk3MjM0NDQyYWYzOTAzN2Q3YjlmLi44OTM1OTg5NTBjZjYyOTZkMGRjNGZiN2EzMjk2Yjcy
ODE3YzBlMjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbgpAQCAtMTc4LDQgKzE3OCw4IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVn
YWN5UmVjZWl2ZXIgTm90UmVmQ291bnRlZCB7CiAjaWYgUExBVEZPUk0oR1RLKSAmJiAhVVNFKEdU
SzQpCiAgICAgU2V0VXNlU3lzdGVtQXBwZWFyYW5jZUZvclNjcm9sbGJhcnMoYm9vbCB1c2VTeXN0
ZW1BcHBlYXJhbmNlRm9yU2Nyb2xsYmFycykKICNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisgICAgRGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShTdHJpbmcgcGFzdGVib2Fy
ZE5hbWUpOworI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCAxNDkwMWZiMGY2MTlhNjgxNjgwMWJmZjBjZmVmNGI3
OWQwMDQxYThjLi5mYWIwZTg5OWFjZGJiMmYzM2UxZWU5NDljZGZjYmVkNmJkNmQyYzFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0K
QEAgLTQ1LDYgKzQ1LDcgQEAKICNpbXBvcnQgIldlYlBhZ2UuaCIKICNpbXBvcnQgIldlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NEYXRhU3RvcmVQYXJh
bWV0ZXJzLmgiCisjaW1wb3J0ICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlBy
b2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJTbGVlcERpc2FibGVyQ2xpZW50Lmgi
CiAjaW1wb3J0ICJXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5oIgpAQCAtMTA3NSw2ICsxMDc2
LDI4IEBAIHZvaWQgV2ViUHJvY2Vzczo6cG93ZXJTb3VyY2VEaWRDaGFuZ2UoYm9vbCBoYXNBQykK
ICAgICBzZXRTeXN0ZW1IYXNBQyhoYXNBQyk7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzczo6d2lsbFdy
aXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFt
ZSkKK3sKKyAgICArK21fcGVuZGluZ1Bhc3RlYm9hcmRXcml0ZUNvdW50cy5lbnN1cmUocGFzdGVi
b2FyZE5hbWUsIFtdIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfSkuaXRlcmF0b3ItPnZhbHVl
OworfQorCit2b2lkIFdlYlByb2Nlc3M6OmRpZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3Vz
bHkoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKK3sKKyAgICBhdXRvIGl0ZXJhdG9yID0g
bV9wZW5kaW5nUGFzdGVib2FyZFdyaXRlQ291bnRzLmZpbmQocGFzdGVib2FyZE5hbWUpOworICAg
IGlmIChpdGVyYXRvciAhPSBtX3BlbmRpbmdQYXN0ZWJvYXJkV3JpdGVDb3VudHMuZW5kKCkgJiYg
aXRlcmF0b3ItPnZhbHVlID4gMCAmJiAhLS1pdGVyYXRvci0+dmFsdWUpCisgICAgICAgIG1fcGVu
ZGluZ1Bhc3RlYm9hcmRXcml0ZUNvdW50cy5yZW1vdmUoaXRlcmF0b3IpOworfQorCit2b2lkIFdl
YlByb2Nlc3M6OndhaXRGb3JQZW5kaW5nUGFzdGVib2FyZFdyaXRlc1RvRmluaXNoKGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUpCit7CisgICAgd2hpbGUgKG1fcGVuZGluZ1Bhc3RlYm9hcmRX
cml0ZUNvdW50cy5nZXQocGFzdGVib2FyZE5hbWUpKSB7CisgICAgICAgIGlmICghcGFyZW50UHJv
Y2Vzc0Nvbm5lY3Rpb24oKS0+d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6
OldlYlByb2Nlc3M6OkRpZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHk+KDAsIDFfcywg
SVBDOjpXYWl0Rm9yT3B0aW9uOjpJbnRlcnJ1cHRXYWl0aW5nSWZTeW5jTWVzc2FnZUFycml2ZXMp
KQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIG1fcGVuZGluZ1Bhc3RlYm9hcmRXcml0
ZUNvdW50cy5yZW1vdmUocGFzdGVib2FyZE5hbWUpOworfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406260</attachid>
            <date>2020-08-08 14:38:20 -0700</date>
            <delta_ts>2020-08-08 15:13:59 -0700</delta_ts>
            <desc>Remove flaky test expectation too</desc>
            <filename>bug-215218-20200808144204.patch</filename>
            <type>text/plain</type>
            <size>14029</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk1M2NkODk1NzNhMThhZmY2
OTE3YzgwMTllNWEyNTdjMzEwZjRkNzAuLmI0MDYyMmNjNGU3ODU3YmUxYjI0NmExM2Q4NTdmNDMy
NzAyYzliZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTQgQEAKKzIwMjAtMDgtMDggIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgWyBpT1Mgd2syIF0gZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sIGlzIGEgZmxha3kgZmFp
bHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1
MjE4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NjYyODQ5Mz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHRlc3Qgd3JpdGVzIHRvIHRoZSBz
eXN0ZW0gcGFzdGVib2FyZCB1c2luZyBgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiKWAsIGFu
ZCB0aGVuIGltbWVkaWF0ZWx5IHJlYWRzIGZyb20KKyAgICAgICAgdGhlIHN5c3RlbSBwYXN0ZWJv
YXJkIGJ5IHRyaWdnZXJpbmcgYGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIpYC4gT24gcmFy
ZSBvY2Nhc2lvbnMsIHRoaXMgZmFpbHMgb24gaU9TLCB3aGVyZQorICAgICAgICBJUEMgbWVzc2Fn
ZXMgZm9yIHdyaXRpbmcgY29udGVudCB0byB0aGUgcGFzdGVib2FyZCAoZS5nLiBgV2ViUGFzdGVi
b2FyZFByb3h5OjpXcml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmRgKSBhcmUKKyAgICAgICAgYXN5
bmNocm9ub3VzLCBidXQgdGhlIElQQyBtZXNzYWdlIHRvIGdldCB0aGUgcGFzdGVib2FyZCBjaGFu
Z2UgY291bnQgYmVmb3JlIHBhc3RpbmcgKGBHZXRQYXN0ZWJvYXJkQ2hhbmdlQ291bnRgKQorICAg
ICAgICBpcyBzeW5jaHJvbm91cy4gVGhpcyBtZWFucyB0aGF0IGBDb25uZWN0aW9uYCBtYXkgZW5k
IHVwIGRpc3BhdGNoaW5nIHRoZSBzeW5jIGBHZXRQYXN0ZWJvYXJkQ2hhbmdlQ291bnRgIElQQwor
ICAgICAgICBtZXNzYWdlIGJlZm9yZSBkaXNwYXRjaGluZyBgV3JpdGVXZWJDb250ZW50VG9QYXN0
ZWJvYXJkYCwgd2hpY2ggY2F1c2VzIHRoZSBwYXN0ZWJvYXJkIHJlYWQgdG8gZmFpbCwgYmVjYXVz
ZSB0aGUKKyAgICAgICAgY29udGVudHMgb24gdGhlIHBhc3RlYm9hcmQgaGF2ZSBjaGFuZ2VkIGFm
dGVyIHN0YXJ0aW5nIHRvIHJlYWQgZnJvbSB0aGUgcGFzdGVib2FyZC4KKworICAgICAgICBOb3Rl
IHRoYXQgdGhpcyBpcyBub3QgYSBwcm9ibGVtIG9uIG1hY09TIHNpbmNlIGFsbCBwYXN0ZWJvYXJk
IHdyaXRpbmcgSVBDIGlzIHN5bmNocm9ub3VzLiBJbnN0ZWFkIG9mIHR1cm5pbmcgYWxsCisgICAg
ICAgIG9mIHRoZSBhc3luYyBpT1MgcGFzdGVib2FyZCB3cml0aW5nIG1lc3NhZ2VzIHN5bmNocm9u
b3VzIGFzIHdlbGwsIHdlIGNhbiBmaXggdGhpcyBieSBhZGRpbmcgYSBtZWNoYW5pc20gaW4KKyAg
ICAgICAgYFdlYlByb2Nlc3NgIHRvIGtlZXAgdHJhY2sgb2Ygb3V0Z29pbmcgYXN5bmMgcGFzdGVi
b2FyZCB3cml0ZSBtZXNzYWdlczsgdGhlbiwgYmVmb3JlIGF0dGVtcHRpbmcgdG8gZ3JhYiB0aGUK
KyAgICAgICAgY2hhbmdlIGNvdW50IHdoZW4gd2Ugc3RhcnQgcmVhZGluZywgd2FpdCBmb3IgYW55
IG9mIHRoZXNlIHBlbmRpbmcgYXN5bmMgd3JpdGVzIHRvIGZpbmlzaCBiZWZvcmUgd2UgY29udGlu
dWUuCisKKyAgICAgICAgSW4gYSBmdXR1cmUgcGF0Y2gsIHdlIGNvdWxkIGFjdHVhbGx5IGFkb3B0
IHRoaXMgc2FtZSBtZWNoYW5pc20gaW4gYFNldFBhc3RlYm9hcmRUeXBlc2AgYW5kIG5laWdoYm9y
aW5nIElQQworICAgICAgICBtZXNzYWdlcyB0byB0dXJuIHRoZXNlIGFsbCBhc3luY2hyb25vdXMu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVVUkxUb1Bhc3RlYm9h
cmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlV2ViQ29udGVu
dFRvUGFzdGVib2FyZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhc3RlYm9hcmRQcm94eTo6d3Jp
dGVJbWFnZVRvUGFzdGVib2FyZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhc3RlYm9hcmRQcm94
eTo6d3JpdGVTdHJpbmdUb1Bhc3RlYm9hcmQpOgorCisgICAgICAgIENhbGwgYGRpZFdyaXRlVG9Q
YXN0ZWJvYXJkQXN5bmNocm9ub3VzbHlgIGFmdGVyIHdlIGZpbmlzaCB3cml0aW5nIHRvIHRoZSBw
YXN0ZWJvYXJkIGFzeW5jaHJvbm91c2x5LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXM6OmNoYW5nZUNvdW50KToKKworICAgICAgICBCZWZvcmUgYWNjZXNz
aW5nIGNoYW5nZUNvdW50LCB3YWl0IHVudGlsIGFueSBhc3luY2hyb25vdXMgY2FsbHMgdG8gd3Jp
dGUgdG8gdGhlIHN5c3RlbSBwYXN0ZWJvYXJkIGhhdmUgZmluaXNoZWQuCisKKyAgICAgICAgKFdl
YktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZCk6CisKKyAgICAg
ICAgUmlnaHQgYmVmb3JlIHdlIHNlbmQgYW4gYXN5bmMgbWVzc2FnZSB0byB0aGUgVUkgcHJvY2Vz
cyB0byB3cml0ZSB0byB0aGUgc3lzdGVtIHBhc3RlYm9hcmQsIG5vdGlmeSBgV2ViUHJvY2Vzc2AK
KyAgICAgICAgc28gdGhhdCBpdCBjYW4ga2VlcCB0cmFjayBvZiBwZW5kaW5nIGNsaXBib2FyZCB3
cml0ZXMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9j
b2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6Ondp
bGxXcml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6ZGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3M6OndhaXRGb3JQZW5kaW5nUGFzdGVib2FyZFdyaXRlc1RvRmluaXNo
KToKKworICAgICAgICBXYWl0IGZvciBhIG1heGltdW0gb2YgMSBzZWNvbmQgZm9yIGFueSBvdXRn
b2luZyBwYXN0ZWJvYXJkIHdyaXRpbmcgbWVzc2FnZXMgdG8gcmV0dXJuIHRvIHRoZSB3ZWIgcHJv
Y2Vzcy4KKwogMjAyMC0wOC0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIGJhc2VMYXRlbmN5IGF0dHJpYnV0ZSBpcyBtaXNzaW5nIG9uIEF1ZGlvQ29udGV4dCBp
bnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBh
c3RlYm9hcmRQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UGFzdGVib2FyZFByb3h5Q29jb2EubW0KaW5kZXggMTg3MGViYzQxNDFiNmJkOGRjMTcwNTEyNzFj
NmUyNWJhZjhjZmVlZS4uYzQzOTIyMjk3NDIyNTk0OWM0NTBhNjdiOTRiYThlMTYxYWVjODhiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFBy
b3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVi
b2FyZFByb3h5Q29jb2EubW0KQEAgLTMwLDYgKzMwLDcgQEAKICNpbXBvcnQgIlNhbmRib3hFeHRl
bnNpb24uaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCAiV2ViUHJlZmVyZW5j
ZXMuaCIKKyNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vz
c1Byb3h5LmgiCiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Bh
c3RlYm9hcmQuaD4KQEAgLTQ1Myw2ICs0NTQsOCBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6
d3JpdGVVUkxUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdAog
ICAgIGF1dG8gcHJldmlvdXNDaGFuZ2VDb3VudCA9IFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJv
YXJkTmFtZSkuY2hhbmdlQ291bnQoKTsKICAgICBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2Fy
ZE5hbWUpLndyaXRlKHVybCk7CiAgICAgZGlkTW9kaWZ5Q29udGVudHNPZlBhc3RlYm9hcmQoY29u
bmVjdGlvbiwgcGFzdGVib2FyZE5hbWUsIHByZXZpb3VzQ2hhbmdlQ291bnQsIFBsYXRmb3JtUGFz
dGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKSk7CisgICAgaWYgKGF1dG8qIHBy
b2Nlc3MgPSB3ZWJQcm9jZXNzUHJveHlGb3JDb25uZWN0aW9uKGNvbm5lY3Rpb24pKQorICAgICAg
ICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpEaWRXcml0ZVRvUGFzdGVib2Fy
ZEFzeW5jaHJvbm91c2x5KHBhc3RlYm9hcmROYW1lKSwgMCk7CiB9CiAKIHZvaWQgV2ViUGFzdGVi
b2FyZFByb3h5Ojp3cml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkV2ViQ29udGVudCYgY29udGVudCwg
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKQEAgLTQ2Miw2ICs0NjUsOCBAQCB2b2lkIFdl
YlBhc3RlYm9hcmRQcm94eTo6d3JpdGVXZWJDb250ZW50VG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbgogICAgIGF1dG8gcHJldmlvdXNDaGFuZ2VDb3VudCA9IFBsYXRmb3Jt
UGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKTsKICAgICBQbGF0Zm9ybVBh
c3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLndyaXRlKGNvbnRlbnQpOwogICAgIGRpZE1vZGlmeUNv
bnRlbnRzT2ZQYXN0ZWJvYXJkKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lLCBwcmV2aW91c0No
YW5nZUNvdW50LCBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLmNoYW5nZUNvdW50
KCkpOworICAgIGlmIChhdXRvKiBwcm9jZXNzID0gd2ViUHJvY2Vzc1Byb3h5Rm9yQ29ubmVjdGlv
bihjb25uZWN0aW9uKSkKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vz
czo6RGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShwYXN0ZWJvYXJkTmFtZSksIDAp
OwogfQogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVJbWFnZVRvUGFzdGVib2FyZChJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRJbWFn
ZSYgcGFzdGVib2FyZEltYWdlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQpAQCAtNDcx
LDYgKzQ3Niw4IEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUltYWdlVG9QYXN0ZWJv
YXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uCiAgICAgYXV0byBwcmV2aW91c0No
YW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3Vu
dCgpOwogICAgIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkud3JpdGUocGFzdGVi
b2FyZEltYWdlKTsKICAgICBkaWRNb2RpZnlDb250ZW50c09mUGFzdGVib2FyZChjb25uZWN0aW9u
LCBwYXN0ZWJvYXJkTmFtZSwgcHJldmlvdXNDaGFuZ2VDb3VudCwgUGxhdGZvcm1QYXN0ZWJvYXJk
KHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpKTsKKyAgICBpZiAoYXV0byogcHJvY2VzcyA9
IHdlYlByb2Nlc3NQcm94eUZvckNvbm5lY3Rpb24oY29ubmVjdGlvbikpCisgICAgICAgIHByb2Nl
c3MtPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkRpZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNo
cm9ub3VzbHkocGFzdGVib2FyZE5hbWUpLCAwKTsKIH0KIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJv
eHk6OndyaXRlU3RyaW5nVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwg
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmROYW1lKQpAQCAtNDgxLDYgKzQ4OCw4IEBAIHZvaWQgV2ViUGFzdGVi
b2FyZFByb3h5Ojp3cml0ZVN0cmluZ1RvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24sIGNvCiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJv
YXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwogICAgIFBsYXRmb3JtUGFzdGVib2Fy
ZChwYXN0ZWJvYXJkTmFtZSkud3JpdGUocGFzdGVib2FyZFR5cGUsIHRleHQpOwogICAgIGRpZE1v
ZGlmeUNvbnRlbnRzT2ZQYXN0ZWJvYXJkKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lLCBwcmV2
aW91c0NoYW5nZUNvdW50LCBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLmNoYW5n
ZUNvdW50KCkpOworICAgIGlmIChhdXRvKiBwcm9jZXNzID0gd2ViUHJvY2Vzc1Byb3h5Rm9yQ29u
bmVjdGlvbihjb25uZWN0aW9uKSkKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2Vi
UHJvY2Vzczo6RGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShwYXN0ZWJvYXJkTmFt
ZSksIDApOwogfQogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6dXBkYXRlU3VwcG9ydGVkVHlw
ZUlkZW50aWZpZXJzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBpZGVudGlmaWVycywgY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkTmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKaW5k
ZXggMzkwNGJlZjc4MWE2ZDE0OTBmOGRiN2U4MTMzZmVjNmE1MWI2ZGUxYS4uNTI4ZmE0N2IxZmEx
OWZjY2Q5ZjQyNzM4YjRkZWI4YTkyMDFjOTI0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRl
Z2llcy5jcHAKQEAgLTE3MCw2ICsxNzAsNyBAQCBWZWN0b3I8U3RyaW5nPiBXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXM6OmFsbFN0cmluZ3NGb3JUeXBlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZAogaW50
NjRfdCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNoYW5nZUNvdW50KGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZE5hbWUpCiB7CiAgICAgaW50NjRfdCBjaGFuZ2VDb3VudCB7IDAgfTsKKyAgICBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS53YWl0Rm9yUGVuZGluZ1Bhc3RlYm9hcmRXcml0ZXNUb0Zpbmlz
aChwYXN0ZWJvYXJkTmFtZSk7CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJv
Y2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6
R2V0UGFzdGVib2FyZENoYW5nZUNvdW50KHBhc3RlYm9hcmROYW1lKSwgTWVzc2FnZXM6OldlYlBh
c3RlYm9hcmRQcm94eTo6R2V0UGFzdGVib2FyZENoYW5nZUNvdW50OjpSZXBseShjaGFuZ2VDb3Vu
dCksIDApOwogICAgIHJldHVybiBjaGFuZ2VDb3VudDsKIH0KQEAgLTI2NSwyMSArMjY2LDI1IEBA
IFN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnVybFN0cmluZ1N1aXRhYmxlRm9yTG9hZGlu
Zyhjb25zdCBTdHJpbmcmIHBhc3RlYm9hCiAKIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3
cml0ZVRvUGFzdGVib2FyZChjb25zdCBQYXN0ZWJvYXJkVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUpCiB7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2lsbFdyaXRl
VG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkocGFzdGVib2FyZE5hbWUpOwogICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6
OldlYlBhc3RlYm9hcmRQcm94eTo6V3JpdGVVUkxUb1Bhc3RlYm9hcmQodXJsLCBwYXN0ZWJvYXJk
TmFtZSksIDApOwogfQogCiB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6d3JpdGVUb1Bhc3Rl
Ym9hcmQoY29uc3QgV2ViQ29yZTo6UGFzdGVib2FyZFdlYkNvbnRlbnQmIGNvbnRlbnQsIGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCku
d2lsbFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkocGFzdGVib2FyZE5hbWUpOwogICAg
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQo
TWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6V3JpdGVXZWJDb250ZW50VG9QYXN0ZWJvYXJk
KGNvbnRlbnQsIHBhc3RlYm9hcmROYW1lKSwgMCk7CiB9CiAKIHZvaWQgV2ViUGxhdGZvcm1TdHJh
dGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkSW1hZ2Um
IGltYWdlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQogeworICAgIFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLndpbGxXcml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KHBhc3RlYm9h
cmROYW1lKTsKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVj
dGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OldyaXRlSW1hZ2VUb1Bh
c3RlYm9hcmQoaW1hZ2UsIHBhc3RlYm9hcmROYW1lKSwgMCk7CiB9CiAKIHZvaWQgV2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRU
eXBlLCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7
CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2lsbFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNo
cm9ub3VzbHkocGFzdGVib2FyZE5hbWUpOwogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBh
cmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94
eTo6V3JpdGVTdHJpbmdUb1Bhc3RlYm9hcmQocGFzdGVib2FyZFR5cGUsIHRleHQsIHBhc3RlYm9h
cmROYW1lKSwgMCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4
IDhkMmJhMjZlNDE0YmY1YWNjYWRlMzU2NTQ2NmUyMGRkMTU3NGFlYzguLmNiNTkyZGJiYjI2NmUy
ZGFlZWRmMTEwZGZiZWVkODNjMzRjNjMwMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaApAQCAtMzM0LDYgKzMzNCwxMiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGVuYWJsZVZQ
OURlY29kZXIoKTsKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgd2lsbFdyaXRlVG9Q
YXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSk7Cisg
ICAgdm9pZCB3YWl0Rm9yUGVuZGluZ1Bhc3RlYm9hcmRXcml0ZXNUb0ZpbmlzaChjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lKTsKKyAgICB2b2lkIGRpZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNo
cm9ub3VzbHkoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSk7CisjZW5kaWYKKwogcHJpdmF0
ZToKICAgICBXZWJQcm9jZXNzKCk7CiAgICAgfldlYlByb2Nlc3MoKTsKQEAgLTY0OCw2ICs2NTQs
MTAgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9hc3NldFNlcnZp
Y2VWMkV4dGVuc2lvbjsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgSGFzaE1h
cDxTdHJpbmcsIHVuc2lnbmVkPiBtX3BlbmRpbmdQYXN0ZWJvYXJkV3JpdGVDb3VudHM7CisjZW5k
aWYKKwogICAgIGJvb2wgbV91c2VHUFVQcm9jZXNzRm9yTWVkaWEgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV92cDlEZWNvZGVyRW5hYmxlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBjZGEwNWI5NGZmMmFkYjQy
NDcwNTk3MjM0NDQyYWYzOTAzN2Q3YjlmLi44OTM1OTg5NTBjZjYyOTZkMGRjNGZiN2EzMjk2Yjcy
ODE3YzBlMjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbgpAQCAtMTc4LDQgKzE3OCw4IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVn
YWN5UmVjZWl2ZXIgTm90UmVmQ291bnRlZCB7CiAjaWYgUExBVEZPUk0oR1RLKSAmJiAhVVNFKEdU
SzQpCiAgICAgU2V0VXNlU3lzdGVtQXBwZWFyYW5jZUZvclNjcm9sbGJhcnMoYm9vbCB1c2VTeXN0
ZW1BcHBlYXJhbmNlRm9yU2Nyb2xsYmFycykKICNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisgICAgRGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShTdHJpbmcgcGFzdGVib2Fy
ZE5hbWUpOworI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCAxNDkwMWZiMGY2MTlhNjgxNjgwMWJmZjBjZmVmNGI3
OWQwMDQxYThjLi43NzQxNzZmYjZmZjJiZjA5N2QyNDc0MmVmYjNkYzhiNzNkNWZjYmJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0K
QEAgLTQ1LDYgKzQ1LDcgQEAKICNpbXBvcnQgIldlYlBhZ2UuaCIKICNpbXBvcnQgIldlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NEYXRhU3RvcmVQYXJh
bWV0ZXJzLmgiCisjaW1wb3J0ICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlBy
b2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJTbGVlcERpc2FibGVyQ2xpZW50Lmgi
CiAjaW1wb3J0ICJXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5oIgpAQCAtMTA3NSw2ICsxMDc2
LDI4IEBAIHZvaWQgV2ViUHJvY2Vzczo6cG93ZXJTb3VyY2VEaWRDaGFuZ2UoYm9vbCBoYXNBQykK
ICAgICBzZXRTeXN0ZW1IYXNBQyhoYXNBQyk7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzczo6d2lsbFdy
aXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFt
ZSkKK3sKKyAgICArK21fcGVuZGluZ1Bhc3RlYm9hcmRXcml0ZUNvdW50cy5lbnN1cmUocGFzdGVi
b2FyZE5hbWUsIFtdIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfSkuaXRlcmF0b3ItPnZhbHVl
OworfQorCit2b2lkIFdlYlByb2Nlc3M6OmRpZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3Vz
bHkoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKK3sKKyAgICBhdXRvIGl0ZXJhdG9yID0g
bV9wZW5kaW5nUGFzdGVib2FyZFdyaXRlQ291bnRzLmZpbmQocGFzdGVib2FyZE5hbWUpOworICAg
IGlmIChpdGVyYXRvciAhPSBtX3BlbmRpbmdQYXN0ZWJvYXJkV3JpdGVDb3VudHMuZW5kKCkgJiYg
aXRlcmF0b3ItPnZhbHVlICYmICEtLWl0ZXJhdG9yLT52YWx1ZSkKKyAgICAgICAgbV9wZW5kaW5n
UGFzdGVib2FyZFdyaXRlQ291bnRzLnJlbW92ZShpdGVyYXRvcik7Cit9CisKK3ZvaWQgV2ViUHJv
Y2Vzczo6d2FpdEZvclBlbmRpbmdQYXN0ZWJvYXJkV3JpdGVzVG9GaW5pc2goY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkTmFtZSkKK3sKKyAgICB3aGlsZSAobV9wZW5kaW5nUGFzdGVib2FyZFdyaXRl
Q291bnRzLmdldChwYXN0ZWJvYXJkTmFtZSkpIHsKKyAgICAgICAgaWYgKCFwYXJlbnRQcm9jZXNz
Q29ubmVjdGlvbigpLT53YWl0Rm9yQW5kRGlzcGF0Y2hJbW1lZGlhdGVseTxNZXNzYWdlczo6V2Vi
UHJvY2Vzczo6RGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseT4oMCwgMV9zLCBJUEM6
OldhaXRGb3JPcHRpb246OkludGVycnVwdFdhaXRpbmdJZlN5bmNNZXNzYWdlQXJyaXZlcykpCisg
ICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgbV9wZW5kaW5nUGFzdGVib2FyZFdyaXRlQ291
bnRzLnJlbW92ZShwYXN0ZWJvYXJkTmFtZSk7Cit9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMjQyYzNlMmM4MTk5NGJmOTJmZWI3N2RjZmNjMTE5ZDAyNWEzZWIwMi4uNzUxMGU3
MmFkOThhODZiZmEyZjkwYmQ5N2ZmZDJmYmNhOTBlYzFkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDIwLTA4LTA4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisg
ICAgICAgIFsgaU9TIHdrMiBdIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3Rp
bmcuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxNTIxOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjY2Mjg0
OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVt
b3ZlIHRoZSBmbGFreSB0ZXN0IGV4cGVjdGF0aW9uLgorCisgICAgICAgICogcGxhdGZvcm0vaW9z
LXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0wOC0wNyAgTGF1cm8gTW91
cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVdIEdhcmRlbmluZyBh
bmQgYWRkaW5nIHNvbWUgV1BFIGJhc2VsaW5lcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDYwMTQzNGFk
YThmODE3ZTUxYTkzNGFhMzcyYTg3YmMwZDUzYzIzN2MuLmE4OTkxMjJiNjM0NDcyOTczMTE3ZjJj
MDg2MzRmNzRkNDc4Y2UyMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTMwLDUgKzEzMCwzIEBAIHdl
YmtpdC5vcmcvYi8yMTUwMjUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMv
UlRDU2N0cFRyYW5zcG9ydC1tYXhDCiB3ZWJraXQub3JnL2IvMjE1MDMzIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1h
Y2NlcHRlZC5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIxNTIx
NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N2Zy9pbXBvcnQvaW50ZXJhY3Qtem9v
bS0wMS10LW1hbnVhbC5zdmcgWyBQYXNzIEZhaWx1cmUgXQotCi13ZWJraXQub3JnL2IvMjE1MjE4
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS13aXRob3V0LW5lc3RpbmcuaHRtbCBbIFBhc3MgRmFp
bHVyZSBdCg==
</data>
<flag name="review"
          id="421662"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406262</attachid>
            <date>2020-08-08 18:26:59 -0700</date>
            <delta_ts>2020-08-08 20:23:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215218-20200808182658.patch</filename>
            <type>text/plain</type>
            <size>13926</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk1M2NkODk1NzNhMThhZmY2
OTE3YzgwMTllNWEyNTdjMzEwZjRkNzAuLmM3YzU0NGNiYmI2ZWZlNTAxMmJlMTI1OWFhZTYyNDQx
ZjVmYTJiZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTQgQEAKKzIwMjAtMDgtMDggIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgWyBpT1Mgd2syIF0gZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1sIGlzIGEgZmxha3kgZmFp
bHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1
MjE4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NjYyODQ5Mz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUaGlzIHRlc3Qgd3JpdGVzIHRvIHRoZSBzeXN0
ZW0gcGFzdGVib2FyZCB1c2luZyBgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiKWAsIGFuZCB0
aGVuIGltbWVkaWF0ZWx5IHJlYWRzIGZyb20KKyAgICAgICAgdGhlIHN5c3RlbSBwYXN0ZWJvYXJk
IGJ5IHRyaWdnZXJpbmcgYGRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIpYC4gT24gcmFyZSBv
Y2Nhc2lvbnMsIHRoaXMgZmFpbHMgb24gaU9TLCB3aGVyZQorICAgICAgICBJUEMgbWVzc2FnZXMg
Zm9yIHdyaXRpbmcgY29udGVudCB0byB0aGUgcGFzdGVib2FyZCAoZS5nLiBgV2ViUGFzdGVib2Fy
ZFByb3h5OjpXcml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmRgKSBhcmUKKyAgICAgICAgYXN5bmNo
cm9ub3VzLCBidXQgdGhlIElQQyBtZXNzYWdlIHRvIGdldCB0aGUgcGFzdGVib2FyZCBjaGFuZ2Ug
Y291bnQgYmVmb3JlIHBhc3RpbmcgKGBHZXRQYXN0ZWJvYXJkQ2hhbmdlQ291bnRgKQorICAgICAg
ICBpcyBzeW5jaHJvbm91cy4gVGhpcyBtZWFucyB0aGF0IGBDb25uZWN0aW9uYCBtYXkgZW5kIHVw
IGRpc3BhdGNoaW5nIHRoZSBzeW5jIGBHZXRQYXN0ZWJvYXJkQ2hhbmdlQ291bnRgIElQQworICAg
ICAgICBtZXNzYWdlIGJlZm9yZSBkaXNwYXRjaGluZyBgV3JpdGVXZWJDb250ZW50VG9QYXN0ZWJv
YXJkYCwgd2hpY2ggY2F1c2VzIHRoZSBwYXN0ZWJvYXJkIHJlYWQgdG8gZmFpbCwgYmVjYXVzZSB0
aGUKKyAgICAgICAgY29udGVudHMgb24gdGhlIHBhc3RlYm9hcmQgaGF2ZSBjaGFuZ2VkIGFmdGVy
IHN0YXJ0aW5nIHRvIHJlYWQgZnJvbSB0aGUgcGFzdGVib2FyZC4KKworICAgICAgICBOb3RlIHRo
YXQgdGhpcyBpcyBub3QgYSBwcm9ibGVtIG9uIG1hY09TIHNpbmNlIGFsbCBwYXN0ZWJvYXJkIHdy
aXRpbmcgSVBDIGlzIHN5bmNocm9ub3VzLiBJbnN0ZWFkIG9mIHR1cm5pbmcgYWxsCisgICAgICAg
IG9mIHRoZSBhc3luYyBpT1MgcGFzdGVib2FyZCB3cml0aW5nIG1lc3NhZ2VzIHN5bmNocm9ub3Vz
IGFzIHdlbGwsIHdlIGNhbiBmaXggdGhpcyBieSBhZGRpbmcgYSBtZWNoYW5pc20gaW4KKyAgICAg
ICAgYFdlYlByb2Nlc3NgIHRvIGtlZXAgdHJhY2sgb2Ygb3V0Z29pbmcgYXN5bmMgcGFzdGVib2Fy
ZCB3cml0ZSBtZXNzYWdlczsgdGhlbiwgYmVmb3JlIGF0dGVtcHRpbmcgdG8gZ3JhYiB0aGUKKyAg
ICAgICAgY2hhbmdlIGNvdW50IHdoZW4gd2Ugc3RhcnQgcmVhZGluZywgd2FpdCBmb3IgYW55IG9m
IHRoZXNlIHBlbmRpbmcgYXN5bmMgd3JpdGVzIHRvIGZpbmlzaCBiZWZvcmUgd2UgY29udGludWUu
CisKKyAgICAgICAgSW4gYSBmdXR1cmUgcGF0Y2gsIHdlIGNvdWxkIGFjdHVhbGx5IGFkb3B0IHRo
aXMgc2FtZSBtZWNoYW5pc20gaW4gYFNldFBhc3RlYm9hcmRUeXBlc2AgYW5kIG5laWdoYm9yaW5n
IElQQworICAgICAgICBtZXNzYWdlcyB0byB0dXJuIHRoZXNlIGFsbCBhc3luY2hyb25vdXMuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVVUkxUb1Bhc3RlYm9hcmQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlV2ViQ29udGVudFRv
UGFzdGVib2FyZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVJ
bWFnZVRvUGFzdGVib2FyZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhc3RlYm9hcmRQcm94eTo6
d3JpdGVTdHJpbmdUb1Bhc3RlYm9hcmQpOgorCisgICAgICAgIENhbGwgYGRpZFdyaXRlVG9QYXN0
ZWJvYXJkQXN5bmNocm9ub3VzbHlgIGFmdGVyIHdlIGZpbmlzaCB3cml0aW5nIHRvIHRoZSBwYXN0
ZWJvYXJkIGFzeW5jaHJvbm91c2x5LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF0
Zm9ybVN0cmF0ZWdpZXM6OmNoYW5nZUNvdW50KToKKworICAgICAgICBCZWZvcmUgYWNjZXNzaW5n
IGNoYW5nZUNvdW50LCB3YWl0IHVudGlsIGFueSBhc3luY2hyb25vdXMgY2FsbHMgdG8gd3JpdGUg
dG8gdGhlIHN5c3RlbSBwYXN0ZWJvYXJkIGhhdmUgZmluaXNoZWQuCisKKyAgICAgICAgKFdlYktp
dDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZCk6CisKKyAgICAgICAg
UmlnaHQgYmVmb3JlIHdlIHNlbmQgYW4gYXN5bmMgbWVzc2FnZSB0byB0aGUgVUkgcHJvY2VzcyB0
byB3cml0ZSB0byB0aGUgc3lzdGVtIHBhc3RlYm9hcmQsIG5vdGlmeSBgV2ViUHJvY2Vzc2AKKyAg
ICAgICAgc28gdGhhdCBpdCBjYW4ga2VlcCB0cmFjayBvZiBwZW5kaW5nIGNsaXBib2FyZCB3cml0
ZXMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OndpbGxX
cml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzczo6ZGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseSk6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3M6OndhaXRGb3JQZW5kaW5nUGFzdGVib2FyZFdyaXRlc1RvRmluaXNoKToK
KworICAgICAgICBXYWl0IGZvciBhIG1heGltdW0gb2YgMSBzZWNvbmQgZm9yIGFueSBvdXRnb2lu
ZyBwYXN0ZWJvYXJkIHdyaXRpbmcgbWVzc2FnZXMgdG8gcmV0dXJuIHRvIHRoZSB3ZWIgcHJvY2Vz
cy4KKwogMjAyMC0wOC0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIGJhc2VMYXRlbmN5IGF0dHJpYnV0ZSBpcyBtaXNzaW5nIG9uIEF1ZGlvQ29udGV4dCBpbnRl
cmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3Rl
Ym9hcmRQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFz
dGVib2FyZFByb3h5Q29jb2EubW0KaW5kZXggMTg3MGViYzQxNDFiNmJkOGRjMTcwNTEyNzFjNmUy
NWJhZjhjZmVlZS4uMGY4YzNkZjM0MzE2YWNhZTc2MGZhN2JmMzZiZmE4MjE0ZmRhY2ZlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2Fy
ZFByb3h5Q29jb2EubW0KQEAgLTMwLDYgKzMwLDcgQEAKICNpbXBvcnQgIlNhbmRib3hFeHRlbnNp
b24uaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCAiV2ViUHJlZmVyZW5jZXMu
aCIKKyNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc1By
b3h5LmgiCiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Bhc3Rl
Ym9hcmQuaD4KQEAgLTQ1Myw2ICs0NTQsOCBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6d3Jp
dGVVUkxUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdAogICAg
IGF1dG8gcHJldmlvdXNDaGFuZ2VDb3VudCA9IFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJk
TmFtZSkuY2hhbmdlQ291bnQoKTsKICAgICBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5h
bWUpLndyaXRlKHVybCk7CiAgICAgZGlkTW9kaWZ5Q29udGVudHNPZlBhc3RlYm9hcmQoY29ubmVj
dGlvbiwgcGFzdGVib2FyZE5hbWUsIHByZXZpb3VzQ2hhbmdlQ291bnQsIFBsYXRmb3JtUGFzdGVi
b2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKSk7CisgICAgaWYgKGF1dG8gcHJvY2Vz
cyA9IHdlYlByb2Nlc3NQcm94eUZvckNvbm5lY3Rpb24oY29ubmVjdGlvbikpCisgICAgICAgIHBy
b2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkRpZFdyaXRlVG9QYXN0ZWJvYXJkQXN5
bmNocm9ub3VzbHkocGFzdGVib2FyZE5hbWUpLCAwKTsKIH0KIAogdm9pZCBXZWJQYXN0ZWJvYXJk
UHJveHk6OndyaXRlV2ViQ29udGVudFRvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24sIGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRXZWJDb250ZW50JiBjb250ZW50LCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQpAQCAtNDYyLDYgKzQ2NSw4IEBAIHZvaWQgV2ViUGFz
dGVib2FyZFByb3h5Ojp3cml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmQoSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uCiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0
ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwogICAgIFBsYXRmb3JtUGFzdGVi
b2FyZChwYXN0ZWJvYXJkTmFtZSkud3JpdGUoY29udGVudCk7CiAgICAgZGlkTW9kaWZ5Q29udGVu
dHNPZlBhc3RlYm9hcmQoY29ubmVjdGlvbiwgcGFzdGVib2FyZE5hbWUsIHByZXZpb3VzQ2hhbmdl
Q291bnQsIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKSk7
CisgICAgaWYgKGF1dG8gcHJvY2VzcyA9IHdlYlByb2Nlc3NQcm94eUZvckNvbm5lY3Rpb24oY29u
bmVjdGlvbikpCisgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkRp
ZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkocGFzdGVib2FyZE5hbWUpLCAwKTsKIH0K
IAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OndyaXRlSW1hZ2VUb1Bhc3RlYm9hcmQoSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkSW1hZ2UmIHBh
c3RlYm9hcmRJbWFnZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKQEAgLTQ3MSw2ICs0
NzYsOCBAQCB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVJbWFnZVRvUGFzdGVib2FyZChJ
UEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbgogICAgIGF1dG8gcHJldmlvdXNDaGFuZ2VD
b3VudCA9IFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKTsK
ICAgICBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLndyaXRlKHBhc3RlYm9hcmRJ
bWFnZSk7CiAgICAgZGlkTW9kaWZ5Q29udGVudHNPZlBhc3RlYm9hcmQoY29ubmVjdGlvbiwgcGFz
dGVib2FyZE5hbWUsIHByZXZpb3VzQ2hhbmdlQ291bnQsIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0
ZWJvYXJkTmFtZSkuY2hhbmdlQ291bnQoKSk7CisgICAgaWYgKGF1dG8gcHJvY2VzcyA9IHdlYlBy
b2Nlc3NQcm94eUZvckNvbm5lY3Rpb24oY29ubmVjdGlvbikpCisgICAgICAgIHByb2Nlc3MtPnNl
bmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkRpZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3Vz
bHkocGFzdGVib2FyZE5hbWUpLCAwKTsKIH0KIAogdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6Ondy
aXRlU3RyaW5nVG9QYXN0ZWJvYXJkKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3Qg
U3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lKQpAQCAtNDgxLDYgKzQ4OCw4IEBAIHZvaWQgV2ViUGFzdGVib2FyZFBy
b3h5Ojp3cml0ZVN0cmluZ1RvUGFzdGVib2FyZChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24s
IGNvCiAgICAgYXV0byBwcmV2aW91c0NoYW5nZUNvdW50ID0gUGxhdGZvcm1QYXN0ZWJvYXJkKHBh
c3RlYm9hcmROYW1lKS5jaGFuZ2VDb3VudCgpOwogICAgIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0
ZWJvYXJkTmFtZSkud3JpdGUocGFzdGVib2FyZFR5cGUsIHRleHQpOwogICAgIGRpZE1vZGlmeUNv
bnRlbnRzT2ZQYXN0ZWJvYXJkKGNvbm5lY3Rpb24sIHBhc3RlYm9hcmROYW1lLCBwcmV2aW91c0No
YW5nZUNvdW50LCBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLmNoYW5nZUNvdW50
KCkpOworICAgIGlmIChhdXRvIHByb2Nlc3MgPSB3ZWJQcm9jZXNzUHJveHlGb3JDb25uZWN0aW9u
KGNvbm5lY3Rpb24pKQorICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNz
OjpEaWRXcml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KHBhc3RlYm9hcmROYW1lKSwgMCk7
CiB9CiAKIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp1cGRhdGVTdXBwb3J0ZWRUeXBlSWRlbnRp
ZmllcnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGlkZW50aWZpZXJzLCBjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmROYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAppbmRleCAzOTA0
YmVmNzgxYTZkMTQ5MGY4ZGI3ZTgxMzNmZWM2YTUxYjZkZTFhLi41MjhmYTQ3YjFmYTE5ZmNjZDlm
NDI3MzhiNGRlYjhhOTIwMWM5MjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNw
cApAQCAtMTcwLDYgKzE3MCw3IEBAIFZlY3RvcjxTdHJpbmc+IFdlYlBsYXRmb3JtU3RyYXRlZ2ll
czo6YWxsU3RyaW5nc0ZvclR5cGUoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkCiBpbnQ2NF90IFdl
YlBsYXRmb3JtU3RyYXRlZ2llczo6Y2hhbmdlQ291bnQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJk
TmFtZSkKIHsKICAgICBpbnQ2NF90IGNoYW5nZUNvdW50IHsgMCB9OworICAgIFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLndhaXRGb3JQZW5kaW5nUGFzdGVib2FyZFdyaXRlc1RvRmluaXNoKHBhc3Rl
Ym9hcmROYW1lKTsKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29u
bmVjdGlvbigpLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFzdGVib2FyZFByb3h5OjpHZXRQYXN0
ZWJvYXJkQ2hhbmdlQ291bnQocGFzdGVib2FyZE5hbWUpLCBNZXNzYWdlczo6V2ViUGFzdGVib2Fy
ZFByb3h5OjpHZXRQYXN0ZWJvYXJkQ2hhbmdlQ291bnQ6OlJlcGx5KGNoYW5nZUNvdW50KSwgMCk7
CiAgICAgcmV0dXJuIGNoYW5nZUNvdW50OwogfQpAQCAtMjY1LDIxICsyNjYsMjUgQEAgU3RyaW5n
IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6dXJsU3RyaW5nU3VpdGFibGVGb3JMb2FkaW5nKGNvbnN0
IFN0cmluZyYgcGFzdGVib2EKIAogdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OndyaXRlVG9Q
YXN0ZWJvYXJkKGNvbnN0IFBhc3RlYm9hcmRVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSkKIHsKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53aWxsV3JpdGVUb1Bhc3Rl
Ym9hcmRBc3luY2hyb25vdXNseShwYXN0ZWJvYXJkTmFtZSk7CiAgICAgV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFz
dGVib2FyZFByb3h5OjpXcml0ZVVSTFRvUGFzdGVib2FyZCh1cmwsIHBhc3RlYm9hcmROYW1lKSwg
MCk7CiB9CiAKIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZVRvUGFzdGVib2FyZChj
b25zdCBXZWJDb3JlOjpQYXN0ZWJvYXJkV2ViQ29udGVudCYgY29udGVudCwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkTmFtZSkKIHsKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53aWxsV3Jp
dGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNseShwYXN0ZWJvYXJkTmFtZSk7CiAgICAgV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdl
czo6V2ViUGFzdGVib2FyZFByb3h5OjpXcml0ZVdlYkNvbnRlbnRUb1Bhc3RlYm9hcmQoY29udGVu
dCwgcGFzdGVib2FyZE5hbWUpLCAwKTsKIH0KIAogdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6
OndyaXRlVG9QYXN0ZWJvYXJkKGNvbnN0IFdlYkNvcmU6OlBhc3RlYm9hcmRJbWFnZSYgaW1hZ2Us
IGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkud2lsbFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkocGFzdGVib2FyZE5hbWUp
OwogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCkt
PnNlbmQoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6V3JpdGVJbWFnZVRvUGFzdGVib2Fy
ZChpbWFnZSwgcGFzdGVib2FyZE5hbWUpLCAwKTsKIH0KIAogdm9pZCBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OndyaXRlVG9QYXN0ZWJvYXJkKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNv
bnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKIHsKKyAgICBX
ZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53aWxsV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNs
eShwYXN0ZWJvYXJkTmFtZSk7CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJv
Y2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFzdGVib2FyZFByb3h5OjpXcml0
ZVN0cmluZ1RvUGFzdGVib2FyZChwYXN0ZWJvYXJkVHlwZSwgdGV4dCwgcGFzdGVib2FyZE5hbWUp
LCAwKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggOGQyYmEy
NmU0MTRiZjVhY2NhZGUzNTY1NDY2ZTIwZGQxNTc0YWVjOC4uOWJlODEwNTQwNDJmMzhhZjViODRm
OGFkOTFkMWRkOWI5MGU4MWU3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5o
CkBAIC0zMzQsNiArMzM0LDEyIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZW5hYmxlVlA5RGVjb2Rl
cigpOwogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgdm9pZCB3aWxsV3JpdGVUb1Bhc3RlYm9h
cmRBc3luY2hyb25vdXNseShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKTsKKyAgICB2b2lk
IHdhaXRGb3JQZW5kaW5nUGFzdGVib2FyZFdyaXRlc1RvRmluaXNoKGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZE5hbWUpOworICAgIHZvaWQgZGlkV3JpdGVUb1Bhc3RlYm9hcmRBc3luY2hyb25vdXNs
eShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAg
IFdlYlByb2Nlc3MoKTsKICAgICB+V2ViUHJvY2VzcygpOwpAQCAtNjQ4LDYgKzY1NCwxMCBAQCBw
cml2YXRlOgogICAgIFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPiBtX2Fzc2V0U2VydmljZVYyRXh0
ZW5zaW9uOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBIYXNoQ291bnRlZFNl
dDxTdHJpbmc+IG1fcGVuZGluZ1Bhc3RlYm9hcmRXcml0ZUNvdW50czsKKyNlbmRpZgorCiAgICAg
Ym9vbCBtX3VzZUdQVVByb2Nlc3NGb3JNZWRpYSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3ZwOURl
Y29kZXJFbmFibGVkIHsgZmFsc2UgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGNkYTA1Yjk0ZmYyYWRiNDI0NzA1OTcyMzQ0
NDJhZjM5MDM3ZDdiOWYuLjg5MzU5ODk1MGNmNjI5NmQwZGM0ZmI3YTMyOTZiNzI4MTdjMGUyMTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CkBAIC0xNzgsNCArMTc4LDggQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZl
ciBOb3RSZWZDb3VudGVkIHsKICNpZiBQTEFURk9STShHVEspICYmICFVU0UoR1RLNCkKICAgICBT
ZXRVc2VTeXN0ZW1BcHBlYXJhbmNlRm9yU2Nyb2xsYmFycyhib29sIHVzZVN5c3RlbUFwcGVhcmFu
Y2VGb3JTY3JvbGxiYXJzKQogI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBEaWRX
cml0ZVRvUGFzdGVib2FyZEFzeW5jaHJvbm91c2x5KFN0cmluZyBwYXN0ZWJvYXJkTmFtZSk7Cisj
ZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tCmluZGV4IDE0OTAxZmIwZjYxOWE2ODE2ODAxYmZmMGNmZWY0Yjc5ZDAwNDFhOGMu
LjNiOGJkZWEzYTZhYjViNDM2NmE2MDZkYWE3ZGE4Y2NmYmY1NjJmMzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtNDUsNiAr
NDUsNyBAQAogI2ltcG9ydCAiV2ViUGFnZS5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMuaCIK
KyNpbXBvcnQgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc1Byb3h5
TWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlNsZWVwRGlzYWJsZXJDbGllbnQuaCIKICNpbXBvcnQg
IldlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzLmgiCkBAIC0xMDc1LDYgKzEwNzYsMjUgQEAgdm9p
ZCBXZWJQcm9jZXNzOjpwb3dlclNvdXJjZURpZENoYW5nZShib29sIGhhc0FDKQogICAgIHNldFN5
c3RlbUhhc0FDKGhhc0FDKTsKIH0KIAordm9pZCBXZWJQcm9jZXNzOjp3aWxsV3JpdGVUb1Bhc3Rl
Ym9hcmRBc3luY2hyb25vdXNseShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQoreworICAg
IG1fcGVuZGluZ1Bhc3RlYm9hcmRXcml0ZUNvdW50cy5hZGQocGFzdGVib2FyZE5hbWUpOworfQor
Cit2b2lkIFdlYlByb2Nlc3M6OmRpZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHkoY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKK3sKKyAgICBtX3BlbmRpbmdQYXN0ZWJvYXJkV3Jp
dGVDb3VudHMucmVtb3ZlKHBhc3RlYm9hcmROYW1lKTsKK30KKwordm9pZCBXZWJQcm9jZXNzOjp3
YWl0Rm9yUGVuZGluZ1Bhc3RlYm9hcmRXcml0ZXNUb0ZpbmlzaChjb25zdCBTdHJpbmcmIHBhc3Rl
Ym9hcmROYW1lKQoreworICAgIHdoaWxlIChtX3BlbmRpbmdQYXN0ZWJvYXJkV3JpdGVDb3VudHMu
Y29udGFpbnMocGFzdGVib2FyZE5hbWUpKSB7CisgICAgICAgIGlmICghcGFyZW50UHJvY2Vzc0Nv
bm5lY3Rpb24oKS0+d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OldlYlBy
b2Nlc3M6OkRpZFdyaXRlVG9QYXN0ZWJvYXJkQXN5bmNocm9ub3VzbHk+KDAsIDFfcywgSVBDOjpX
YWl0Rm9yT3B0aW9uOjpJbnRlcnJ1cHRXYWl0aW5nSWZTeW5jTWVzc2FnZUFycml2ZXMpKSB7Cisg
ICAgICAgICAgICBtX3BlbmRpbmdQYXN0ZWJvYXJkV3JpdGVDb3VudHMucmVtb3ZlQWxsKHBhc3Rl
Ym9hcmROYW1lKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM2Zjk2YTA2YTJmYmM1Mjk0OGExMzQzMTUz
ZDM3NTY5ODg4YWU5ZGEuLjM1ZDhlYjlmZWVhYWZkNTAwNzdjZTRjNzE3NmY1NDU3YmNkNmJhNDAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wOC0wOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbIGlPUyB3azIgXSBlZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtd2l0aG91dC1uZXN0aW5nLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUyMTgKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzY2NjI4NDkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFk
bGVyLgorCisgICAgICAgIFJlbW92ZSB0aGUgZmxha3kgdGVzdCBleHBlY3RhdGlvbi4KKworICAg
ICAgICAqIHBsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIw
MjAtMDgtMDcgIEhlY3RvciBMb3BleiAgPGhlY3Rvcl9pX2xvcGV6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBbIG1hY09TIHdrMiBdIGZhc3QvZm9ybXMvYXV0by1maWxsLWJ1dHRvbi9jYXBzLWxvY2st
aW5kaWNhdG9yLXNob3VsZC1iZS12aXNpYmxlLWFmdGVyLWhpZGluZy1hdXRvLWZpbGwtc3Ryb25n
LXBhc3N3b3JkLWJ1dHRvbi5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggNjAxNDM0YWRhOGY4MTdlNTFhOTM0YWEzNzJhODdiYzBkNTNjMjM3Yy4uYTg5OTEyMmI2MzQ0
NzI5NzMxMTdmMmMwODYzNGY3NGQ0NzhjZTIzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMzAsNSAr
MTMwLDMgQEAgd2Via2l0Lm9yZy9iLzIxNTAyNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnJ0Yy9SVENTY3RwVHJhbnNwb3J0LW1heEMKIHdlYmtpdC5vcmcvYi8yMTUwMzMgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL2Nvb2tpZXMvdGhpcmQtcGFy
dHktY29va2llLWFjY2VwdGVkLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQu
b3JnL2IvMjE1MjE2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3ZnL2ltcG9ydC9p
bnRlcmFjdC16b29tLTAxLXQtbWFudWFsLnN2ZyBbIFBhc3MgRmFpbHVyZSBdCi0KLXdlYmtpdC5v
cmcvYi8yMTUyMTggZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXdpdGhvdXQtbmVzdGluZy5odG1s
IFsgUGFzcyBGYWlsdXJlIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>